33513 pull replication by document id

Do pull replication with a subset of document IDs.

The user configures clientFilterDocIds on the CDTPullReplication object; this is an array of document IDs.

Internally, the sets clientFilterCurrentSetDocIds (doc IDs for inclusion during pull, for which we already have at least one rev in the database), and clientFilterNewDocIds (doc IDs for inclusion during pull, which we don't yet have in the database) are used.

Lots of things are missing right now, especially an updated remoteCheckpointDocID method whose input to the hash function should the doc ID list.
Chances are we should just work through the scenarios here to satisfy ourselves this is reasonable. There must be a safe way to do this without needing to guarantee these requests finished before we start with _changes calls (which I don't think the FIFO launching of HTTP requests guarantees).