Added InvertedFileReadCursor and InvertedFileWriteCursor.  Refactored a
bunch of stuff too.
Integrated the new cursor-based IO paradigm.