Added Doxygen docs to all headers, cleaned code

The Doxyfile in doc does not work yet - I'm going to change
the directory structure so everything is (hopefully) organized more
cleanly. The way it is right now is nice for Linux, but not for
anything else.