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 #424 Crash in CoreFoundation boundPairReadClose()

* Apply the workaround according to the discussion in https://github.com/AFNetworking/AFNetworking/issues/907.
Update the characters to be escaped in URL params

* Add all of the reserved characters according to section 2.2 in rfc3986 that haven't get escaped automatically by the Apple library

* Consolidate CBLEscapeID and CBLEscapeURLParam into just CBLEscapeURLParam

* Update test case and others accordingly
Merge pull request #431 from couchbase/feature/issue_424

Fix #424 Crash in CoreFoundation boundPairReadClose()
Merge pull request #430 from couchbase/feature/escape_url_params

Update the characters to be escaped in URL params