JCBC-241: Refactoring Paginator

This changeset represents a complete refactoring of the Paginator
class, while keeping the old API the same.

Some of the changes included:

  - Only use one query against the Cluster.
  - It now works against reduced views as well.
  - Improved documentation.
  - Various other smaller bugfixes.

The PaginatorTest class has been extended to test against reduced
views as well (the old test have not been modified on order to
ensure backwards compatibility).

Change-Id: I50e9030c1c1efa46f5f65ca45d1c4945eeb78254
Reviewed-on: http://review.couchbase.org/25229
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>