Fix a number of interrupt related issues.
* Don't access kernel_map in free(), defer such operations to malloc()
* Fix a slab allocator panic due to mishandling of malloc size slab
limit checks on machines with small amounts of memory (the slab allocator
reduces the size of the zone on low-memory machines but did not handle the
reduced size properly).
* Add thread->td_nest_count to prevent splz recursions from underflowing
the kernel stack. This can occur because we drop the critical section
when calling sched_ithd() in order to allow it to preempt.
* Properly adjust intr_nesting_level around FAST interrupts
* Adjust the debugging printf() in lockmgr to only complain about blockable
lock requests from interrupts.