Allow for custom datatype names in votable

This should allow end users to workaround VOTable files that contain
invalid datatypes.

Also adds two datatypes seen in Vizier tables: "unsignedInt" and "unsignedShort".
Update docs about datatype mappings.
Add changes entry.
Implementation of wcs_to_celestial_frame
Minor improvements
Make wcs_to_celestial_frame extensible
Added tests and docstring for ``wcs_to_celestial_frame``
Skip doctest
Added changelog entry
Fix parallel testing of test_earth.py
Add development/affiliated-packages.rst docs page.

At the moment this is a copy of the `package-template/README.rst` page,
but the idea is that this documentation is restructured after moving it here.
Fix link to h5py package in docs/doctrings

Old url was http://alfven.org/wp/hdf5-for-python, new is http://h5py.org
Fix line lengths for PEP8
Overwrite individual tables in HDF5 file

Add the ability to overwrite a single table within an HDF5 file without
affecting other files if user passes both `append=True` and
`overwrite=True` to the `Table.write()` method. (Using `overwrite=True`
alone deletes the HDF5 file, and any other datasets inside it, while
`append=True` alone can only add new datasets to an HDF5 file.)
Adds `test_read_write_existing_append_overwrite` function to test this
combination of arguments to `write()`.

Closes #2624
Document append+overwrite arg combo for HDF5

See #2624
Don't rewrite the config file on every import.
Add docs for issue #2762
Add check for np.ma.nomask in NDData mask setter.

Closes #2784
Added changelog entry for #2784
Add regression test for #2784