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.