CBQE:2261 Unit tests for XDCR checkpointing

These are unit tests for checkpointing that test if vb_uuids are changing with node crash(UPR,TAP),
rebalance(TAP) and failover(UPR,TAP) at source/destination, validate checkpoint records and whether
_pre_replicates and _commit_for_checkpoint calls were successful, whether a checkpoint call
failed/succeeded as expected and if XDCR recovers from expected checkpointing failures.

Today, due to lack of vb-level checkpointing stats or other infrastructure that ns_server has promised in future,
these tests load mutations onto vb0 and test the above.

Change-Id: I3ef5d69f2e98b160afa75e095e484f0fdbdf261a
Reviewed-on: http://review.couchbase.org/37635
Tested-by: Aruna Piravi <aruna@couchbase.com>
Reviewed-by: Aruna Piravi <aruna@couchbase.com>