Remove the unused close() method from the DiskFileReader()
Don't expect EOFError to be raised when it can't be raised
Turns SomewhatBufferedFileObject.flush() into a no-op
Use contextlib.closing everywhere