MB-9730 Add native index view group cleanup

Implementation of native utility for viewgroup cleanup.
Details of a viewgroup can be passed to couch_view_group_cleanup command
via stdin and it will perform cleanup of nodes belonging to partitions
specified by cleanup_bitmask. Purged count can be read back from stdout.

Change-Id: I1482500dca0406a528a7b66349701a49915b3c77
Reviewed-on: http://review.couchbase.org/30758
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
MB-9730 Add support to cancel running viewgroup cleanup process

Implemented an stdin listener thread for receiving "exit"
message and die current viewgroup cleanup process immediately
without completion.

Change-Id: I2ff9305ac15fb02f9273a745439558f2846e552b
Reviewed-on: http://review.couchbase.org/30990
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
MB-9771 Add native incremental index updater

Implementation of native external program for performing
incremental update into the index. The external program receives
necessary info such as index file location, header pos, sorted
operation list files, buffersize, etc via stdin and it efficiently
performs bulk updates to the view btrees and result stats are
sent out via stdout.

Change-Id: Ib35f741e5b615c4dd7f6c3527079538dd56373a0
MB-9771 Exchange viewgroup header via stdin/stdout

For view index incremental updater, change has been made
to receive viewgroup header via stdin and send back new header
after performing incremental updates via stdout. This avoids
writing of intermediate index header from native updater.

Change-Id: I68aecd2cb305a45a46f3d3fb45c705f2eab72ccc
MB-9771 Perform view ops sorting in incremental index updater

Change-Id: Ib7a135d68504137c27535df49f402e5ddf5102b0