Changes the CDTReplicator.state property to be equal to CDTReplicatorSta...


If the replication was stopped via a call to CDTReplicator -stop, the status should be 'Stopped'. Otherwise, if
the replication stops on its own because it completes, the status is set to CDTReplicatorStatusComplete.

Changes the CDTReplicator code to clarify the object's state,
progress (changesTotal and changesProcessed), and messages sent to delegates
during start, stop and updates to the replicator.

Adds tests in ReplicationAcceptance using a delegate to stop replication
immediately after starting.
Hmm, you're right. Is there some way you can make the logic clearer? Perhaps reverse the `if`, preferring the positive case in this instance over early bailing?

I tend to use switch statements for things that are effectively state machines, as I think it makes it more explicit which states are being handled (I guess you saw this in the equivalent Java code [here](https://github.com/cloudant/sync-android/blob/master/sync-core/src/main/java/com/cloudant/sync/replication/BasicReplicator.java#L73))