MB-9105 Close the open checkpoint upon receiving snapshot request

If a given UPR client requests a snapshot, this change closes the
current open checkpoint and open a new checkpoint if necessary.
In this way, we can provide the snapshot upto a given closed
checkpoint for the UPR client.

We confirmed from all UPR producer related unit tests that they
close the open checkpoint correctly and stream items upto that
checkpoint.

Change-Id: Ie7134fcf15b5f7c954a3da774e4177e00c038285
Reviewed-on: http://review.couchbase.org/34482
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Junyi Xie <junyi.couchbase@gmail.com>
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>