Format classes receive filepointer instead of file path

User is responsible for opening files
JSON.detect is a classmethod
Expose format registry

Add get_registry and register functions
Classifier's kwargs are passed to Format constructor
Enable doctests in advanced_usage.rst
Format registry is an OrderedDict
Merge branch 'feat/formats' into dev