Enhancement: Add status to replicate response

Add a status field to the result returned by replicate, with value 'Complete', 'Cancelled' or 'Aborted', according to how the replication ended. An aborted replication will have an error, so it was already possible to distinguish this case, but previously it was not easy to distinguish a completed replication from one that was cancelled, in the complete callback.