MB-9124: Don't let CheckpointManager move cursors internally

When removing unreference checkpoints and when adding a new
checkpoint the CheckpointManager attempts to move cursors if they
are at the end of the open checkpoint. This case should be rare
should not make much difference in terms of performance. The
removing checkpoint cursors case would have a potential to make a
difference, but it appears that the current code will not actually
do anything since it doesn't take into account the fact that there
is a checkpoint end message that was recently inserted into the
checkpoint. As a result the cursors will never move to the new
open checkpoint. The other place we do this is when adding a new
checkpoint and in that case we only try to move the persistence
cursor. I don't see a benefit here since we will not be removing
any checkpoints at that time and we can just wait for the
persistence cursor to grab the items.

This change will also simplify tracking which items have been
persisted because we will only have one place in the code that can
actually move the cursors forward and that will only happen when
someone grabs items from the checkpoints.

The new UPR changes to the CheckpointManager will also render this
optimization obsolete because we will not allow cursors to be in
open checkpoints.

Change-Id: I1137997a81ee502857fc0517b29cabfe1a1a92c9
Reviewed-on: http://review.couchbase.org/29224
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>
MB-9124: Use persistence cursors last chk id to mark persisted items

Change-Id: Iac5c53b8594bd4e1611b164a7c925e1acd1e7d6c
Reviewed-on: http://review.couchbase.org/29225
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>
MB-9103: Backfills are only from disk

This removes the memory backfill that was used when more than 90%
of the items are resident in memory. We cannot use that mechanism
anymore because we need to ensure that items are sent in order of
increasing sequence number.

Change-Id: I6d1e1994ce558d3cba45693d82e7d51c280b0704
Reviewed-on: http://review.couchbase.org/29114
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>
MB-9107: During Backfill don't read resident values off disk

We remove in-memroy backfilling in a previous commit and this
can cause backfilling to be slow if most of the items are in
memory. This change allows us to skip reading values off of disk
if the values already exist in memory.

Change-Id: I51aad158e9bab15cc8fb78f3c140c1d87c224101