Refactored data I/O so that it is no longer attached to the Table class. This will allow it to be used for the NDData class as well as any other classes in future.
Make NDData inherit from DataIO to allow I/O handlers to be registered.
Check that data_class is a sub-class of DataIO
Moved the I/O registry docs outside of the Table docs.
Remove DataIO base class, simply assign the read/write methods manually to the Table and NDData classes.
Added 'read' and 'write' to __all__ for I/O registry
Added note for users about registry
Added documentation page for I/O registry to front page.
Added back @mdboom's fix to sort formats in exception