Added GPF handler, rearranged calls in kernel.c so that
the stack doesn't get corrupted before kmain().