Adds support for filtered pull replication and reorganizes the
way replications are specified and initiated.

Adds CDTAbstractReplication, CDTPushReplication and CDTPullReplication,
which are used to encapsulate the data necessary to start a replication.
CDTAbstractReplication is the "abstract" base class for CDTPushReplication
and CDTPullReplication.

Adds CDTReplicatorFactory -oneWay:(CDTAbstractReplicaiton *):error(NSError**),
which accepts a CDTAbstractReplication object to specify the replication.
This method returns a CDTReplicator, which may be used to execute the
replication (CDTReplicator -start).

CDTReplicatorFactory -onewaySourceDatatore:targetURI and
-onewaySoureURI:targetDatatore will soon be deprecated in favor of
-oneWay, which is documented in this commit.

CDTPullReplication supports filtered replication from the remote server.
This code does not make any query to the remote server to ensure the
existence of the remote filter function.

Tests (and supporting methods) were added to the ReplicationAcceptance
project and to CDTReplicationTests.m in the Tests project.

Updates the documentation README.md and replication.md to instruct use
of the new CDTReplicatorFactor -oneWay:error: method.
Merge pull request #23 from cloudant/27993-filtered-pull-replication

Adds support for filtered pull replication.