Gzip writer/reader

A general refactor of code to have the ability to provide other reads/writers in addition to sequence file readers. 

Added some tests for the writers and readers and also added a performance test.
I don't understand the meaning of this class. The compression format (gzip) should be configured through a codec. This class looks more like DelimitedTextFileWriter.