Fixed a "const type on return qualifier" compiler warning by returning the char by reference.

This was just a mismatch between the std::string::at method and the bump::String one.
Added documentation for all enumeration values for Doxygen.
Fixed a weird tab typo, no functional changes.
Moved the FileInfoList typedef to the end of the file to remove the forward declaration.
Moved all protected class methods and members underneath the internal flag for Doxygen.

This means that by default, protected class methods and members won't show up in the docs. If you want to enable this, then set the INTERNAL_DOCS flag to YES in the doxyfile.cmake file.
Removed virtual declarations from the Observer::notify subclass methods that don't need it.