MB-10352: handle checkpointing against older nodes specially

Older nodes (>= 2.5.0) don't support new checkpointing protocol. And
because checkpointing code currently crashes replicator if for any
reason checkpointing fails and also because we actually need to detect
crashes of destination, we have to treat older node specially.

Current behavior is to react on 404 from _pre_replicate and grab
remote instance start time as special form of vbopaque.

When it's time to checkpoint we detect that special form of
vbopaque. And we compare previous instance start time and current
instance start time. If they don't match, then we crash replicator (as
per usual xdcr checkpointing behavior). If they do match we "fake"
checkpoint by doing nothing. Faking of checkpoint is necessary because
older nodes cannot reliably support checkpointing.

Change-Id: I531a0baddaa924cee8875a03002ef4cf6f3fe6cb
Reviewed-on: http://review.couchbase.org/34168
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>