More work on #2

Getting close to 100% coverage on reader
Work on #6

Still need to figure out what error Python raises when a request for an
mmap exceeds the platform limits, then we can close this one
More warnings and errors

Relates to #3