Move IRQ and ISR wrapper assembly functions into C++.
Unify IRQ and ISR interrupt handling.
Replace 48 explicit idt::setGate() calls with a compile-time loop.