Refine the code commenting into a fully JavaDoc comment style
The code is currently documented in a myriad different styles. We should standardize on the JavaDoc code documentation style and clean up the existing mess.
Steps:
* All documentation of an API, a function definition/
* API documentation should indicate memory ownership, such as "Returns: new reference" or "Returns: borrowed reference" or "Takes over ownership of parameter X"
* All *internal* documentation which explains HOW a function, API, class method, etc is *implemented* should be housed in the code file itself
* Meta-documentation for the files, file groups, modules, and more, should be added to the header files of the appropriate APIs and classes, and should contain information which explains:
** The relationship between classes and functions with a functional module
** The relationship of classes, APIs, and modules to each other
** The correct method of transferring state and other information between APIs
** Example code for the above
* A Doxyfile (doxygen configuration file) should be generated and refined
* A builder should be added to the BuildSlaves which is responsible for generating updated developer documentation from the source code using Doxygen
Blueprint information
Whiteboard
* Doxyfile has been made and Doxygen is currently running and building documentation
* Enabled doxygen to output into an error log where we have undocumented functions, classes, and other things