Add support for cpus_allowed_policy

Two policies are supported:

shared	cpumask is shared between all threads. This is the original
	behavior.

split	cpumask is split between threads, each thread gets a unique
	CPU.

Signed-off-by: Jens Axboe <axboe@fb.com>
Update IO engine version

Commit 225ba9e3 changed the layout of struct io_u, so
update the engine version to indicate that external
engines need to be recompiled.

Signed-off-by: Jens Axboe <axboe@fb.com>
windows: add proper header for hweight64()

Signed-off-by: Jens Axboe <axboe@fb.com>
windows: fix fio_cpu_count() definition

Don't take a 'cpu' argument, that's a leftover when this was
(temporarily) fio_cpu_isset().

Signed-off-by: Jens Axboe <axboe@fb.com>