IO exists!

**not ready for merge**

Basic framework for the IO subpackage. Still need to add docstrings.
Why are there commas here? We don't normally do that (e.g., you're not doing it under ``Exceptions``.