MB-7966 KVShard implementation for Multi-readers and writers

This change introduces the concept of the KVShard class which is
used to allow scheduling for the multi-reader/writer feature. The
KVShard is a simply a logical partitioning of the VBucket map that
allows the engine to easily be able to schedule jobs from different
VBuckets to specific reader and writer threads.

Change-Id: I527b63a2f998020334d0d47dbb8fb3870d8312e6
Reviewed-on: http://review.couchbase.org/25624
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>