Commented and documented a bit
Added doxygen file
Updated makefile and gitignore to ignore doxygen files, which can be generated now by running doxygen doxyconfig.cfg in the main directory.
Added a lot of documentation to the files.