[interrupt] Rewrote irqHandler and added overall support for all interrupts

Rewrote irqHandler to be much simpler and easier to understand, while still
supporting all interrupts.

Added support for all interrupts to EnableInterrupt and DisableInterrupt.
[interrupt] Coding style.
[gpio] Added functions to handle interrupts

The functions (Enable|Disable)GpioInterrupt to choose event and
ClearGpioInterrupt to acknowledge an event.

Filled out the rest of the register struct.
[Drivers] Removed misplaced file.
[port] Fixed up prvSetupTimerInterrupt

InitInterruptController() is called in the beginning of main already. This
caused a lot of confusion for me as I thought this was the only place and
I just couldn't understand why my interrupt vector was overwritten.

RegisterInterrupt needs to be called _after_ the timer registers are set,
because RegisterInterrupt activates interrupts after it has set the vector.
[interrupt] One-off errors and error codes

* (Enable|Disable)Interrupt should not allow interrupt 72
* (Register|Enable|Disable)Interrupt returns -1 on erroneous interrupt
Merge pull request #2 from Snigelson/master

Interrupt related fixes