Handle empty object projection correctly.

In most cases applying an empty object projection, ```{}```, wiped out everything in the returned object except for the id. Changed this to match the mongo behavior.

```
MongoDB shell version: 2.4.5
> db.test.insert({foo:"bar"})
> db.test.find({}, {})
{ "_id" : ObjectId("53ce1dff7391048387657616"), "foo" : "bar" }
```

@twillouer please review, merge and delete the branch.