Large documentation cleanup

Motivated by documenting the new progress thread support. Internal data
structures and functions are no longer included in the documentation by
default, and must be requested by adding INTERNAL_DOCS to the
ENABLED_SECTIONS option in doxygen.conf.