Fix signal handling for kernel processes

send_signal_super() was putting the signal frame in the wrong place and
not updating esp (which is why it failed silently before).
sigaction-style signal handling still needs to be tested, but otherwise
things seem to be working.
Unify CPU context structures

Preprocessor hacks are used to unify the ctxt and spr_ctxt structures.
Beware: sizeof (struct ctxt) should not be relied on for user-mode CPU
contexts.
Move usr/sysproc.c into kernel/

These processes run in supervisor mode, and so should be linked with the
rest of the kernel in order to receive the same protections.