IO exists!

Ready for review!

Basic framework for the IO subpackage. Still need to add docstrings.
`flatten` isn't lazy though, which is a goal given `chain`, right? 

Note, a generator expression would make this even lazier