kernel - Fix MP races in recent vm_object work
* lwkt_token_swap() needs a critical section to ensure that an interrupt
does not catch it mid-swap.
* Adjust vm_object_terminate() and vm_object_vnterminate() mechanics to
require that the object be locked and to eat the lock.
* Use vm_object_hold/drop in vm_map_copy_entry() (object must be locked
upon call to vm_object_collapse()).
* Acquire object locks in various places and swap the token order as
needed to chain locks in various loops.
* Shift some code around in vm_object.c