WIP: Rather than polling the VM for status see if we can get it to
     notify us by an event when there is memory pressure.
WIP: Adding SPL threading, kmem cache reap etc.

Dont run unless you like crashes.
WIP: Stop memory monitor thread from crashing (hopefully). Use
the official API for determining pressure.
WIP: Very interesting...waiting on my own event does not
seem to cause crashes.
WIP: proof of concept mach_vm_pressure_monitor() used to cause
SPL to moderate memory use, including providing hints to zfs
to release memory when machine is under pressure.
WIP: working a bit better, but does not react fast enough
     to prevent emergency levels of memory pressure
     manifesting.
WIP: put function prototype back
WIP: throttle memory monitor thread.
WIP: Add APIs to allow owners of allocated memory to inform
SPL that it should release cached memory NOW to help the OS.
WIP: print cache statistics periodically ... where is all the memory?
WIP: bring the kmem cache implementation across (its mostly the illumos implementation).

Next step slabs.
WIP: Route all alloc calls via the kmem_caches per illumos design.
WIP: add periodic reaper task.
WIP: clean up kmem.h to closely match illumos, remove some linuxisms
that crept in.
WIP: include AVL in SPL to support further development of spl-kmem.c
WIP: align kmem cache structures with illumos, update code to
use illumos names rather than the older ones derived from linux.
WIP: provide a stubbed vmem implementation. Add kmem slab function,
slabs not initialised or in use at this point.
Use the builtin functionality to provide offsetof functionality
rather than the more traditional "derefence 0" style macro.
WIP: Trying improved bmalloc with slabless kmem implementation.
WIP: add in missing APIs needed by the kmem