MB-9307: Implement rollback in updater

The rollback is now part of the updater. When the updater receives
a rollback response during the doc loading, it will keep going in
order to get possible rollbacks of other partitions.

Once all partitions have been processed the doc loader will throw
an rollback error, which will make the updater exit. The view group
will then catch this exit and do the rollback.

Afterwards the updater will be restarted and should now process
the original request as expected.

Change-Id: I3e92643fc29c1481fcb6c18c89cb6eb3f0b0f846
Reviewed-on: http://review.couchbase.org/31302
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>