This patch sees more progress toward getting the kernel back to waking up
AP CPUs on IBM-PC.

Currently the kernel is able to smoothly do the SMP mode switch in every
emulator other than Sun Virtual Box. Hopefully the next patch should put the
Virtual Box issue to rest.

* Rectified a bug which caused local IRQs to be disabled permanently, silently.
  Was caused by incorrect lock release ordering.
* Revamped the IBM-PC SMP mode switch code.
  * Now waits using blocking on the i8254 pit to disable itself properly.
* Rectified a logic based bug in i8259a.cpp where irqIsEnabled() was returning
  the opposite result due to a lack of a NOT condition to reverse a bit test
  outcome.
* The __kpin triggermode and polarity state tracking of IRQ controller pins is
  set-up by the bus-pin mapping code now.
* Added a TODO in memory Trib's pmem detection code for later review.
* lib-IO-APIC:
	* Fixed a logic error in the libIoApic getIoApicFor(__kpin) function's
	  __kpin range checking condition ambits.
	* Fixed logic errors that caused execution in maskIrq/unmaskIrq to fall
	  through as if a valid IO-APIC hadn't been found, even when one was
	  found.
* Added more body and stub functions to x86 atomicAsm namespace. These functions
  require actual atomic implementation later.
* FINALLY implemented a memoryTribC::dump() function, though incomplete.
  ^ Dumps all physical memory state for the chipset.
* InterruptTrib: Fixed the ISR execution loop to properly handle edge triggered
  IRQs.
* MultipleReaderLock: Enhanced atomicity using namespace atomicAsm. This class
  needs a major overhaul to resolve some latent race conditions.
* Appended more information to platform/x8632-ibmPc/ 's placement addresses
  compilation.