Changed the build system.

Looks like a lot of changes, but isn't. The build system is somewhat
easier now. The VM is a separate object file that will get linked with
the different architecture kernels. Therefore the build system was
changed to make this setup easier to work with. Now each architecture
lives in its own folder and is responsible for the boot process.

Each architecture should implement three make rules, build, postbuild,
and clean. The build phase should make everything necessary, the
bootloader, kernel, accessory programs, etc. The postbuild rule should
link the architecture specific kernel with the VM object file and
produce a final binary image.

The build process still isn't as nice as I would like it. For example,
different CFLAGS and LDFLAGS are scattered between files. It would be
nice to have a global location for changing flags. This will probably be
handled as needed when another architecture implementation, like ARM, is
created.

Everything should work as normal. Some testing has been done and many
different offsets and locations have been verified, but there may still
be some bugs present with this build system change.