Added better console boot-up printing, found bug (see kernel.c)

This commit contains a bug somewhere. I commented out the lines that
cause the bug to reveal itself (page fault follwed by kernel crash)
but did not find the root cause or fix it yet.
Sprinkled debug/assert code throughout kernel (still crashing...)

I have at least simplified how to reproduce the bug. It seems to
occur when you are printing and getting interrupted while printing.
I don't know if it needs to happen many times, or just once at the
"right" (wrong) time, or what. It does not matter if you are
printing to the VGA console or to the debug console. The crash
only occurs in BOCHS. It does not crash in QEMU...
[BROKEN] removed incorrect esp from exn printing

It's stil broken. It crashes on QEMU now as well! I can get it to
crash with INFO() instead of kprintf() (bochs only though). Using
kprintf("CRASH!") crashes both qemu and bochs.