Replace the set onlyFields with a dict called _fields

This makes .only & .ignore a lot simpler plus will
allow for more projections.
Make .get() act the same as .filter()[0]

In terms of preserving extra options on the query
Add fields method with support for slice projection
Bump version
Add $setOnInsert
Merge pull request #26 from johnnyg/slice-projection

Slice projection