Added puller option to _not_ add new docs

Setting the option "add_docs" to NO prevents the puller from adding any
documents that don't already exist locally. Using this with an unfiltered
pull revision will keep a subsetted database up-to-date without bringing
in extra docs.
API: Added -[CBLReplication pullDocumentIDs:]

Apps can now pull individual documents even if those aren't normally
being replicated by the puller. This combines well with setting the
add_docs=false option -- you get a replicator that won't add new docs
except for the ones you tell it to.

Implementation note: The requested docIDs are added to CBLPuller's inbox
as though they came from the changes feed, except that the inbox items
are regular CBLRevisions (not CBLPulledRevisions) and have no revIDs.
Most of the code complexity is from handling those differences.
Moved SSL server-trust handler from CBL_Replicator to CBLRemoteRequest
Made RemoteQuery use the authenticator of the associated pull replication
Merge branch 'feature/subset' into feature/query
API: Added -[CBLReplication createQueryOfRemoteView:]

Also, accessing a remote query row's .document property will now trigger
a pull of that document.