Not sure why these were declared static
Moved the PIC code out of the APIC module and into its own module

Added a call to disable_pic() inside of interrupts/init.c
Added virtual mappings and interrupt redirects for I/O APIC

--Added 64-bit versions of the ioapic_read/write functions

Virtual memory space is allocated for all present I/O APICs and
interrupts for the first I/O APIC are redirected. They follow the
'standard' mapping for priorities. A quick test was done and the
interrupts don't appear to be working, so time for some debugging!