Automatically inherit docstrings from base classes

As suggested in #2151 (and an alternative to it).

Grepping through the code, there's lots of places this would be useful, but I thought I'd get some feedback on the general premise before mechanically going through and removing the manual docstring setting we do now.

TODO:

- [x] Convert existing instances of `__doc__ = BaseClass.__doc__` over to this.

@embray