Custom sorting of CBLQueryEnumerators

Added CBLQuery.sortDescriptors,
and -[CBLQueryEnumerator sortUsingDescriptors:].

Conflicts:
	Source/API/CBLQuery.m
Removed implicit key./value. prefix support in query sort descriptors.

Had second thoughts about this; too much "magic" for not enough benefit.
Fixed: Query.inclusiveEnd option was missing from public API

Fixes couchbaselabs/couchbase-lite-api#105
API CHANGE: Added CBLQuery.postFilter

Query results can now be post-processed by an NSPredicate that can
remove any rows its wants to.
Added query-filter support for reduced/grouped and full-text queries.
API CHANGE: Added CBLQuery.inclusiveStart property

Defaults to YES (compatible with existing behavior.)
In the REST API, it's a query param ?inclusive_start.
Checked in current version of CBLQueryPlanner.
Query planner now precomputes startKey and endKey as NSExpressions at init time.

Mostly this improves testability, as unit tests can assert that those expressions are correct.
Query planner now supports case-insensitive string comparison

i.e. the "[c]" modifier on string comparison operators
Query planner handles "IN" expressions; other fixes

* For "expr IN $VALUES", emits expr as key and uses the CBLQuery.keys property with the runtime value of $VALUES.
* Fixed a bug where an expr could appear twice in the key if it were also given as a sort key.
* Made most of the class properties only appear in debug builds, to save code size.
Query planner: Simplify map block by precomputing a single expression for key and for value.
More CBLQueryPlanner improvements

* Added convenience init that takes predicate as an NSString.
* Added -explanation method for troubleshooting & learning.
* Handle _queryKeys expression evaluating to an NSSet or NSDictionary.
Added postFilter support to all-docs queries.
all-docs query optimizations

* Don't look up attachments if rev's no_attachments column is true
* Get document contents if there's a filter, because it's almost certain to look at them.
API: Added CBLQuery.prefixMatchLevel

Implemented prefix matching on strings or arrays in queries.
Merge branch 'master' into feature/query
Fix #418 deleteDatabase: blocking thread

* CBL_Shared's forgetDatabaseNamed: blocks CBLDatabase objects from closing when they receive DatabaseWillBeDeleted notification. Instead of doing sleep, calling runloop to spin to allow the other CBLDatabase objects to get closed.

* When closing CBLManager, closing all databases in the CBL_Shared object as well.
Fixed unit tests by making sure resources get cleaned up
Renamed CBLView.totalDocs to totalRows

(Not public so this isn't an API change.)
Added CBLUITableSource class to library exported-symbols list