Use a registry of known formatter classes.  This has the potential advantage of enabling user-defined formatters.  astropy.units.format.__init__ should still import all the built-in formatters to ensure they are added to the registry, so this is a minimal change.
Allow unit format names to be case-insensitive (normalizing to lowercase) and include a type check in case the format is not a valid string.
Oops--None should still be an allowed input as the default
Move table.Row class into its own submodule table/row.py
Merge pull request #2872 from taldcroft/table-row

Move table.Row class into its own submodule table/row.py
Generate API docs for some missing sub-modules in astropy.tools`
Merge pull request #2873 from cdeil/utils_docs

Generate API docs for some missing sub-modules in astropy.utils
This reworks how the correct 'stdout' stream to use by default
for functions like color_print, ProgressBar, etc. is obtained.

Usually we just want to use sys.stdout, but on Windows that does
not work for color.  Previously there were some hacks to instead
use IPython's stdio stream on Windows since it actually wraps
pyreadline and *does* handle colors.  However, by *always* using
IPython's stdout, functions that assume we're using sys.stdout
do not actually write properly to sys.stdout when sys.stdout is
*changed* (e.g. replaced with a log file).

This instead uses sys.stdout by default in *most* cases.  But when
sys.stdout is set to a TTY (the only context where we probably want
to keep colors) *then* it switches over to using IPython's stdout.

An alternative might be to create a wrapper object that handles
this more transparently, but for now this appears to work.
Add changelog entries for both issues fixed by this PR. [skip ci]
Merge pull request #2878 from embray/issue-2878

Table.pprint() header ignores stdout redirection
Merge pull request #2852 from embray/units/formatter-registry

Add a silly automatic registry of known formatter classes
add latex_inline unit format
add CHANGES entry
change class name to LatexInline
Merge pull request #2622 from zblz/inline-latex-units

Add "latex_inline" unit format representation with negative powers instead of fractions
Should fix the reference cycle found in #2877 by storing parent_table as a weakref.  This is achievable since most of the Column class seems to work find if there isn't a parent_table.  Also makes parent_table a property, allowing minimal changes elsewhere.
Add changelog entry [skip ci]