kernel - Attempt to fix i386 wire_count panic
* Finally found what could be the issue. get_pv_entry() calls zalloc()
which can fall through to zget() which obtains a zalloc-related LWKT
token.
This can temporarily break the vm_token and allow another thread to get
in and change the pmap pte entry out from under a pmap_enter(), causing
the pmap_enter() to potentially remove an extra wire_count from the
page table page.
* Fix by pre-allocating the pv entry, taking it out of the critical path,
and adjusting a few other bits of code to test the *pte closer to
the code which replaces it for the purposes of adjusting the wire_count.