Add range to the page table walking code

Add a begin and end address to the page table code.  This will allow
individual addresses to be fetched, making it possible to direclty
fetch data from virtual addresses.

Also modify the MIPS code to pre-compute all the values it needs in
a separate function, making the processing more efficient for multiple
calls to the page walk code.
Start work on filtering, massive overhaul
More work on geting dump filtering working.
more work on filtering.
Fix docs, finish up changes for dump filtering.
Lots of rework, eliminate need for special kernel patch

With this patch I've eliminated the need for the general memory patch,
it should work fine without it.  The MIPS specific patch is still required
for MIPS.

Lots of other small cleanups. too.
Fixup prstatus pr_pid if idle task is running.

Each CPU gets a prstatus note in the core.  However, the idle
thread always has pid 0, so if you have multiple CPUs running the
idle thread, you will get pid 0 multiple times.  This confuses gdb
and it looses all but one of the CPUs threads.  Instead, if the
idle thread is running, set the pid to -cpu to keep things sane.
Remove unnecessary kernel patch, update MIPS

Since we removed the need for memranges and such from the kernel, we can
get rid of that patch.  But we still need to add the address macro for
MIPS, so rework a bit.