Support reading from and writing to file-like objects.

Python's ZipFile supports either a path to a file or a file-like object. I find it useful to work with file-like objects.

Also addresses Issue #6.