Add a convenience method for reading and writing compressed files

This commit adds IO_CompressedFile, a convenience function which automatically reads and writes compressed files.

I also remove a whole bunch of dangling whitespace, which should possibly be in a separate commit but I couldn't figure out how to separate the two, so you can either have dangling whitespace everywhere including my code, or nowhere...