Impements implicit matching of members of array elements.

This implements matching members of array elements in MongoDB, e.g., given a collection
```js
[
  {a: [{x: 1}], {y:2}]},
  {a: [{x: 2}, {x: 3}]},
  {a: [{x: 1}, {x: 5}]}
]
```
a query `{'a.x': {$gt: 2}}` will produce
```js
[
  {a: [{x: 2}, {x: 3}]},
  {a: [{x: 1}, {x: 5}]}
]
```

@parkr, @corydobson - Can you please take a look, see if you can spot any issues with this implementation?