Improves CDTReplicator -stop and -startWithError.

Modifies -stop and -startWithError to ensure proper state when
a caller attempts to stop a replicator before the replication thread
executes or if -stop is called before -startWithError. This makes
this class more thread-safe and covers the edge-case where a
replication thread blocks for some reason and the user wishes to
prevent the replication from starting.

The -stop method was modified to return YES/NO to indicate that
it was successful/unsuccessful in stopping the replication from
starting. It is now guaranteed to be successful or unsuccessful,
rather than its previously ambiguous and misleading effectiveness.
This -stop method uses TDReplicatorManager -cancelIfNotStarted.

Addtionally, modifications to CDTRepiclator.state are wrapped in
@synchronized blocks in order to guarantee the object's state
during -stop and the NSNotification callbacks from TDReplicator.