This patch refactors the UMA small alloc code and removes most UMA machine-dependent code.
The existing machine-dependent small_alloc code was almost identical across all architectures, except for `powerpc` where using the direct map addresses involved extra steps in some cases.
The MI/MD split was replaced by a `__weak_symbol`'d default implementation for fetching direct map addresses (`uma_{dmap_to_vm_page, vm_page_to_dmap}`) that can be overridden by architecture-specific code if need be.
Furthermore, `UMA_MD_SMALL_ALLOC` was renamed to `UMA_USE_DMAP`.