Interrupt support

This change introduces simulated interrupt support. At this time the software stack does not support
hardware interrupts. This change simulates the interrupts by polling.
Why <code>shared_ptr<InterruptTracker></code>? Do <code>InterruptTracker</code>'s exist anywhere else?