Add more fine-grained kernel options for NUMA support.
VM_NUMA_ALLOC is used to enable use of domain-aware memory allocation in
the virtual memory system. DEVICE_NUMA is used to enable affinity
reporting for devices such as bus_get_domain().
Note that 'cpuset -gd' always works.
If we left vm_ndomains at 1 in the !VM_NUMA_ALLOC case this would probably
reduce the diff. However, I would probably need to do something else to
handle bootstrapping 'cpuset -gd'. Perhaps I can just make the non-NUMA
fallback check to see if the set is empty and ignore it if it is non-empty
(though that assumes that domain 0 will always have at least one valid
CPU). I could perhaps check all of the sets and bail if any of them are
non-empty. The only other issue is if userland code checks vm.ndomains
and if so what is it expecting it to be used for. If it expects it to mean
that the kernel supports NUMA allocation then we should probably be leaving
it at 1.