More documentation for IO

fixes #630 
might be clearer to phrase as:

There is a built-in `sniffer` that raises a useful error message if an empty file is provided as input.