kernel sets up its own GDT
Loader passes a data block to the kernel
Put initialized variables in .text where they belong
tweak comment
Correct error in gdb notes
INT3 prints correct register values for flags and cs:eip
Use kernel code selector when initializing IDT.

This removes another dependency between the loader and the kernel.
Use BlockStatus enum for physical memory map
pmmap_alloc()