Refactored the IDT code.

IDT:
*Replaced the general function for ISR creation by a pair of functions
where one is for CPU exception ISR's and the other for hardware
interrupt ISR's.
*The old ISR creation function was made static and is not visible
beyond the source. It is used for adding ISR's by the public functions.
*Created two Enum types for CPU exceptions and hardware interrupts.
They hold the name of the exception/interrupt and their index
in the IDT.
*The exception enum is finished, the hardware interrupt enum has
only one test entry (for the keyboard IRQ).