Fixes upsert unpacking ObjectIDs in query doc.

@corydobson @parkr
Just found a bug that makes upserts using the search query fields with `ObjectID`values to pick them apart and put their hidden properties into the newly inserted documents instead of copying them holistically. This is a fix.
I'd like to, but:
```
  1) MongoDb-Fs in-process operations do not hang update upsert does not unpack ObjectIDs when copying from query:

      Uncaught AssertionError: expected 5451597ab8d832f422000003 to deeply equal 5451597ab8d832f422000003
```

The problem is, depending on options, `ObjectID` may or may not cache it the hex string representation in `this.__id` (https://github.com/mongodb/js-bson/blob/master/lib/bson/objectid.js#L49) which will throw deep equality check off.