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?


I've investigated a bit more, the implementation of subarray with range, if it extends beyond bounds of an array, an exception is thrown. Switching  `MIN(limit, docIds.count)` for `limit` causes the exception to be thrown.