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?


Method names taking actions should be [verbs](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html), `-validateFields:`.

Also, you're doing more than validating the fields here. I'd suggest doing the fields overriding elsewhere, as validating fields doesn't imply changing the variable passed in. That's more of a normalisation step.