Fixes CDTDatastore -getRevisionHistory, which was returning an empty array
Passes empty body to CDTDocumentRevision init method so that it doesn't return nil.
Merge pull request #62 from cloudant/35614-CDTDatastore-getRevisionHistory-returns-empty-array

Fixes CDTDatastore -getRevisionHistory, which was returning an empty array
Add NSPredicate query support to Cloudant Sync

This allows using an NSPredicate to generate the SQL for querying
over Cloudant Sync indexes, rather than using the dictionary
format. The dictionary format is left available, for those who
would rather use it.

The main NSPredicate to SQL processing happens in
CDTQueryBuilder, and CDTIndexManager has methods taking
NSPredicate objects added.
Merge pull request #57 from cloudant/NSPredicates-Support-For-Queries

Ns predicates support for queries
Fix merge issues
Create factory method to create document revision from downloaded JSON data.
Whitespace and improve doucmentation around accepted json data
Allow all keys that are valid _ prefexied keys for couchdb/cloudant json
and add test to make sure they are all allowed.
Whitespacing and added test that attempts to create revision with invalid JSON, JSON string is incomplete
Implemented CDTRemoteAttachment

Changed the factory method of CDTDocumentRevision to ask for the URL of the document
Creates attachments from the json included from the get request. Downloads the data
when the data is asked for, or parses the Base64 encoded attachment data included with
the document get request if present.
Fix compile errors and change expected behaviours
Resolve compile errors a result of rebasing
Changed how the test creates a conflict to be resolved, due to validations a revision cannot be create with a nil body or a nil rev Id
Change factory to take NSDictionary instead of NSData to remove overheads for document updates
Changes for issues pointed out in comments
Fix merge issues