Added interrupts, supporting Opcodes, and HLT

Implements features #49, #48, #47, and #46. Also lays the groundwork for any peripherals that require interrupts (Keyboard, Timer.)