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 think your error is that NSRange is a start location and a length, not a start location and an end point.

So the end point of the NSRange is `skip + MIN(limit, docIds.count)` which can still extend beyond the array boundaries.

If this is supposed to be causing an exception, I'd suggest the tests probably are not complete enough.