Borrow a fix from linux, prevent partial slices from bouncing
rapidly between partial list and the full list (assuming its being used).
This is achieved by adding a slice that is newly partially allocated
to the tail of the list, rather the than the head. This way no allocations
are made from the slice until _much_ later, thereby increasing the odds that more frees have been made from the slice.
Add extern for cache_purgevfs().
vcmn_err comes from spl.kext when the context is kernel.
Moving the cpuid code to spl.
Use cpu_number() instead of cpuid() for getcpuid()

ZFS on Linux does #define getcpuid() smp_processor_id()

xnu's cpu_number() seems to be a closer analogue to Linux's
smp_processor_id() than xnu's cpuid().
Merge remote branch 'upstream/master'
Remove warnings regarding loff_t
* add strcspn
* add ddi_copyin ddi_copyout with FKIOCTL support
* add basic TSD layer. Could be improved on
Remove debug printf
Header prototype and declaration mismatch would incorrectly change 32bit to
64bit size on 32bit kernel.
Do not release tsd's when tsd_set( key, NULL ) is called, but more
correctly release at tsd_destroy(key) is issued.
Hopefully addresses issue in zfs #186
Handle new location for mach_kernel in OS X 10.10

In 10.10 '/mach_kernel' is now '/System/Library/Kernels/kernel'.

Also, we had an automake bug that caused 'make clean' never to run
in 'module/spl/KernelExports/'.
Introduce new ddi_timer functions from Solaris
Merge branch 'master' of github.com:openzfsonosx/spl
Merge remote branch 'upstream/master'