A good bit of portability work on the kernel tree. Began using the GCC
freestanding headers (as I should), and used uintptr_t in one or two places.
A mass-rework of the use of uarch_t in the kernel will be done later on,
substituting uintptr_t for uarch_t where appropriate.

* Removed all of the kernel-private freestanding headers.
* Kernel now makes use of NULL (subsituted in by __KNULL).
* Kernel now makes use of the compiler's size_t.
* Using the compiler's va_list, va_* infrastructure, removed the kernel
  equivalents.
* Processes/Threads:
  * Now processes' and threads' "id" member holds their private ID within their
    own limited scope, and the full ID of a thread is given via getFullId().
  * Kernel can now spawn very basic processes.
    ^ No address space switching on thread switch.
  * Prototypes for processTribC::spawnStream() and spawnThread() changed to
    return a pointer to the new object.
    ^ The userspace syscall wrappers will convert this into a process/thread ID.
* x86-32: Fixed a bug in the GDT code where the structure was not fully filled
  out.
* IBM-PC Firmware:
  * Fixed a warning which may have introduced a bug into the library.
  * Fixed a series of unused variable warnings.
* SwampInfoNodeC: Fixed a bug in the comparison operators.
* Increased type safety in memoryStreamC::memAlloc().