This patch adds basic support for adding NUMA domains to a bhyve VM.
The user can define a NUMA domain using the `-n` flag, which expects domain id, a CPU set, and a physical address range for each NUMA domain.
After parsing the node configurations, we use the interfaces added in previous patches to set the VM NUMA configuration.
Afterwards, we use the configuration to build the ACPI //Static Resource Affinity Table// (SRAT) which is used to pass NUMA information to the guest.
The current usage flow for this feature is as follows:
1) Get the memory map for a running or loaded VM using `bhyvectl --get-memmap --vm=<vmname>`
2) Find the end physical address for the VM
3) Use that information to determine address ranges for all NUMA domains
4) Boot the VM and pass something along the lines of: `-n id=0,start=0x0,end=0x160000000,-n id=1,start=0x160000000,end=0x2c0000000,cpus=5-9`
The current flow is flexible but a bit tedious, I'm open to any suggestions on how to improve it.