Kernel boots into 64-bit mode on real hardware.

Tested on real hardware and the kernel successfully boots into 64-bit
mode. (Ignore the virtual memory include and call, didn't feel like
removing it for this commit that I forgot about...)
Added some helpful defitions for integer sizes

Also added a compile time assert macro, which is very useful already
caught a few silly typos!