Use kernel slabs for small allocations

For allocations below a certain size just use kernel slabs
instead of our own allocator. Kernel slabs are more efficient
for small sizes but our slab allocator can run on vmalloc()
memory for larger needs.

Authored-by: DHE
Don't bind threads to specific CPUs.

Binding threads, especially now that ZFS is not populating all CPUs with
threads (default 75% fill) means that for multiple pools there will
always be some CPUs that are never available for work. Worst case
we are looking at CPU 0 being most contended.

There are other (less serious) side-effects but for now I'm
going to just disable this feature. My dual core system with two
pools will thank me later.