MB-12791 Parallel client changes for view engine

Currently view engine fetch data for each stream sequentially.
This behaviour is modified to fetch the data for each stream in
separate erlang process.

Change-Id: Icbebfe53cd96b93daab9fc5360381a5f385f58de
MB-12712 Update file pointer correctly

The spatial views use the native updater to update the ID b-tree. The spatial
views are *not* using the native updater, but are updated from within Erlang.

This means that both, the native updater in C as well as Erlang writes into
the same spatial view file. Hence the writing needs to be coordinated so that
they don't write to the file, while the other side is writing to the file.

The Erlang side is therefore waiting until the native updater is done with
processing the updates.

Change-Id: Ie3fbb78a3c9d2abf5abfe613d7b8f2b21a82dfd2
Reviewed-on: http://review.couchbase.org/43683
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Nimish Gupta <nimish@couchbase.com>
MB-12712 Use correct spatial view information

The spatial views use the native updater to update the ID b-tree and
and Erlang based updater to update the views. The native updater is
running concurrently, hence it contains outdated information about the
spatial views once it's done. Therefore are the updated views from
the Erlang based updater are used in the view group, once the native
updater is done.

Change-Id: Ic2cc53e1435c0673ddbf01d808c7638fd8de92a0
Reviewed-on: http://review.couchbase.org/43830
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Nimish Gupta <nimish@couchbase.com>
Merge commit 'refs/changes/45/41845/6' of ssh://review.couchbase.org:29418/couchdb into HEAD

Change-Id: I1fc0c7122580cb1d07ce04ac94d8733dd4349e47