Simplify interrupt handling

- CPU, IRQ, and software all call same C handler
- Kernel asm module a lot smaller
- kernel HALTs now properly resume execution from their original location
- Process 'iretq' state now exposed to c code (prev just regs)
- Kernel exposes global variable for swapping system state before iret
Fix some push state naming