Multitasking works again.

I overhauled the old method of mapping things in and out of a process'
address space. Also, kernel page mappings should remain the same across
processes now.
Add interrupt context detection
Add experimental stack-tracer