Adding more doxygen documentation comments.
Changing file headers to be correctly read by doxygen.
Adding Doxyfile for doxygen generation.
Fixing doxygen in auto-generated files.