Radix change to return the slot address

Needed for the upcoming page cache changes.
Writepage methods

Dummy for now, and probably forever for these FSs.
Silences TLB proc-state warning

TLB shootdowns are known (by me at least) to be screwed up.
Page cache rewrite, including page removal

Lightly tested.  pm_remove_contig() is made to handle all sorts of
races, but I haven't been able to test all of them.

If I screwed up something, like tracking dirty pages, we probably won't
notice til data magically disappears and programs silently fail.  It'd
be great to have someone review this, but that'll probably end up being
future-barret.
Monitor commands for PM debugging

fs pmflusher will spawn a never-ending ktask that will flush every VFS
PM every 5ms.
Debugging: print_free_mem()

Used this to track down some memory leaks.  Called via kfunc.
Fix minor kthread bug

If you block during initialization, you'll catch this.
PG_BUFFER set appropriately

Code that needs to use buffer heads sets the flag, not the page map.
pm_load_page_nowait()

Will only return if the page cache has the page and is up to date.
Meaning, fill it, but don't block.

Some devices could have the ability to fill a page without blocking, so
we can add a PM op for that.
mmap() / page faults won't block while locking

Rewrote the page filling parts in mm to not block while holding the VMR
lock.  HPF won't work correctly for blocking pm ops, since we return to
userspace, who then refaults over and over.
print_user_ctx helper

Debugging.
Fixes TLB shootdown bug

Need to fix this crap permanently, soon!
Fixes bug on blocking during sys_exec()

Man, exec() is a pain.
Fix elf loading 'current' management

By not keeping current in sync with the cr3, and not properly switching
back, we expose ourselves to some issues.  Specifically, if we block
after improperly clearing current, we could come back with the
boot_pgdir (the one for current = 0), and then later fail to restore
that.  sys_proc_create caused this with KFS blocking.
SCP pagefaults can block

MCPs (even uthreads) still cannot have pagefault handlers that block.
For SCPs, the potential blocking point is treated similar to a yield,
such that if we block, then smp_idle() won't restart the SCP.