New query method

You can now query with mongodb-like queries, so you pass a query as an
array of filters, like [ { path: 'name.first', op: 'in', values: [
'Matthew', 'Adhiv', 'John', 'Joe' } ]

Also supports and/or grouping, like so:
[ { op: "or", query: [ { path: "name.first", op: "cont", value: "John"
}, { path: "name.last", op: "cont", value: "John"} ]