def order(clause = {})
      clone.tap { |r| r.merge_array(OrderParser.new(clause).parse) }
    end
def order(clause = {})
      clone.tap { |r| r.merge_array(OrderParser.new(clause).parse) }
    end
Defines the order clause for the query and merges it into the query array.
 See Montage::OrderParser for specifics

 * *Args* :
   - +clause+ -> A hash or string value containing the field to order by
     and the direction.  Valid directions are "asc" and "desc".  String
     values will default to "asc" if omitted or incorrect.
 * *Returns* :
   - An updated copy of self
 * *Examples* :
   - String
    @query.order("foo asc").options
    => {"$schema"=>"testing", "$query"=>[["$filter", []], ["$order_by", ["$asc", "foo"]]]}
   - Hash
    @query.order(:foo => :asc).options
    => {"$schema"=>"testing", "$query"=>[["$filter", []], ["$order_by", ["$asc", "foo"]]]}