Add class documentation for types

This PR adds class documentation for all types. It is ready to get merged.
None of these are protected, but public