This patch replaces uma_small_alloc with a reservation-aware counterpart.
The machine-dependent UMA code is no longer tasked with page allocation, only with arranging access to DMAP addresses if need be.
small_alloc will now use uma_{dmap_to_vm_page, vm_page_to_dmap} to fetch DMAP addresses for individual pages.
UMA_MD_SMALL_ALLOC was removed and replaced by UMA_MD_DMAP_HOOK that can be used to override the default uma_{dmap_to_vm_page, vm_page_to_dmap} implementation.