JCBC-597: Refactor View mapping into distinct class.

Motivation
----------
This changeset refactors the view result mapping logic into a
separate class, making it easier to grasp and also preparing it
for future enhancements (like transparent retries).

Modifications
-------------
The view query handling is moved into a separate class and extensive
integration tests have been added.

Along the way, a small bug with document() calls on reduced rows has been
fixed as well as better toString() printing on rows.

Result
------
Better readability and testability in the view mapping process.

Change-Id: Ic07d4f93be1176f0e47754203426575e75f57b80
Reviewed-on: http://review.couchbase.org/42324
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Simon Baslé <simon@couchbase.com>