Fix chunk allocator bugs that prevented NetBSD from booting.

The logic in the chunk allocator that determined if a region was
overlapping was incorrect. Cut over to a new version that is simpler
and actually works. This was benign previously since other o/s
loaders weren't exercising the allocator enough.

Also, switch the grub_relocator32_boot() routine to use the chunk
allocator rather than hardwiring an address for bhyve's temporary
GDT. This was overwriting the NetBSD stack, and would have been
picked up earlier had the allocation routine been used instead
of picking an address: a conflict would have been reported.

Tested by loading NetBSD/amd64 5.1, 5.2.2, 6.1.4 and 7-beta.