Added lots of Doxygen documentation everywhere. Changed the configuration of Doxygen to exclude a few directories.