CBIDXT-188 Implement infrastructure for consistent scanning

Implemented a mechanism in the scan coordinator to perform
query on consistent snapshots. Every query request can provide an
atleast-timestamp or nil. The scanner will ask storage manager
to provide a consistent snapshot timestamp that can fullfil
the query's atleast timestamp. The scanner will block wait until
a snapshot is available that can meet the query's atleast criteria.
Once snapshot timestamp is available, the scanner will use that
timestamp to scan slices.

Change-Id: I2d2636ecedc24e0ef48dbf792cf83bb0bfb643f9
Reviewed-on: http://review.couchbase.org/43078
Reviewed-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>
Reviewed-by: Sarath Lakshman <sarath@couchbase.com>
Tested-by: Sarath Lakshman <sarath@couchbase.com>