Moved Doxygen comments around

Moved function comments out of the header files and into the implementation
files. Comments for functions should not be placed with the function
prototypes. The reasoning is, any edit to the comment would dirty the header
and increase project re-compilation times. Also, if the code is edited in
the implementation, then the developer may forget to update the documentation
in the header.