Move pic.h to arch/x86 (and clean up the IRQ interface a bit)

*note: commit also includes a handful of other changes (mostly more clean
up)