Filter fields

Issue #14 

Added new method overloading find more`find:usingIndexes:skip:limit:filter:` passing `nil` to this method for the query parameter will result in all fields being returned.

Main Question: Should the user define fields to return in the query object to match the syntax used by the service?

Tests are still needed, I've opened this PR for discussion around how the user should interact with this functionality, should find have the additional parameter or should the filter be defined in the way the Cloduant Service expects?


Okay, I only read the `it`: "returns all fields when filter is nil". Sounds like some correction is needed.

I'd like to see some checks that 
- dotted notation either works or is rejected invalid.
- two or more fields are projected.
- worth checking whether the right fields are projected.