Fixed constructor calls for clang on 64-bit hosts.

As it seems, clang generates different constructor calls depending
on whether you're running a 32-bit or 64-bit host (at least, that's
the only difference I can see). And yes, I really mean the host. It's
the very same compiler (clang 3.3, built from tags/RELEASE_33/final),
building code for the same target, just with a different host.
Weird, but this works on both hosts now.
Added a tool for automatic testing.

It runs multiple boot-scripts in qemu and bochs for various
configurations (debug/release, x86_32/x86_64, gcc/clang) in
parallel and checks whether they were successfull.
To do that, I also had to change novaboot to make it use a
temp-file for the menu.lst instead of a file at a fixed
location. And I had to adjust the disk-test to make it
automatically testable.
Removed superfluous includes from header-files.

This prevents recompilations if header-files change. It has
been done in a more or less automatic way with
include-what-you-use.
Removed superfluous includes in source-files.

If we're at it...
autotest: Improved handling of build-failures.