MB-9723: Spawn threads based on CPU core count

Spawn fixed number of threads based on the number of CPU
cores present in each machine and allocate these threads
to the various Task Groups as follows...
1. Spawn 2 X number of cpu cores threads in total
2. ceil(10 % of total threads) are aux io threads
3. ceil(10 % of total threads) are non io threads
4. floor (half of the remaining threads) are writer threads
5. finally the remaining threads are reader threads
Examples:
CPU COUNT | # READERS | # WRITERS | # AUX IO | # NON IO
2         | 1         | 1         | 1        | 1
4         | 3         | 3         | 1        | 1
8         | 6         | 6         | 2        | 2
Change-Id: I9c572cfc4e2ff051b87b27e652b467d5087baf37
Reviewed-on: http://review.couchbase.org/31031
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>