kernel - Improve pmap hinting, improve performance
* Refactor pm_pvhint into two fields, pm_pvhint_pt and pm_pvhint_pte.
These are the most common hits.
* Consolidate the pv_entry lookup core into pv_entry_lookup() and
implementing the double hinting. Adjust pv_cache() to use the
new fields.
* Improve pmap_object_init_pt() performance by using the new
RB_SCAN_NOLK() code and soft-busying the VM pages instead
of hard-busying them. If we have to deactivate the page, however,
we must hard-busy the page.
* Fix vm_prefault_quick() committed recently. When soft-busying
VM pages for pmap-entry, we have to fall-back to a hard-busy
if the page must be moved out of PQ_CACHE.