Adding documentation and cleaning up

* Adding doxygen to the build
* Adding doxygen comments to Parser, Element, and Document
* Fixing an problem on certain versions of m4