Alright.  With this commit, Local APIC timers can be implemented successfully.  They are not coded correctly, but they do seem to work.  The HPET is troublesome, as there was a major error in the mapping out of the register space.  We were reading in the wrong place.  Sigh.  Now that this has been fixed, we are seeing saner results.  The timer is ticking, but not generating interrupts on the IOAPIC.  The first timer only has (INT_ROUTE_CAP) interrupts 24,25,26, and 27. Odd!  Also, when enabling the interrupt generation, it restarts. (This is what is occuring in this build, it is a broken one, but it restarts at the end anyway, so nobody should mind)
Alright.  With this commit, Local APIC timers can be implemented successfully.  They are not coded correctly, but they do seem to work.  The HPET is troublesome, as there was a major error in the
mapping out of the register space.  We were reading in the wrong place.  Sigh.  Now that this has been fixed, we are seeing saner results.  The timer is ticking, but not generating interrupts on the
IOAPIC.  The first timer only has (INT_ROUTE_CAP) interrupts 24,25,26, and 27. Odd!  Also, when enabling the interrupt generation, it restarts. (This is what is occuring in this build, it is a broken
one, but it restarts at the end anyway, so nobody should mind)

Directory structure changed slightly.  HPET, IOAPIC, LAPIC all have a close relationship with the architecture, so they are now within the architecture directory with the x86-64 particulars.  I added
a README into each directory describing the files.  Github seems to read them.  Some cleanup has been done.  I will have to go in and do some more documentation and such, though.  And I will have to
commit again so I can also merge Joe's pmem fix with this.

Hopefully, we can implement HPET with these changes.

melancholyfleur/xomb,melancholyfleur/xomb