Added GZIP and rename capabilities for files

TODO: Consider adding NIO variants as well
Added FileSink implementation

Added new BufferedFileWriter with handy constructors (writes GZIP files
too)
Added initial attempt at FileSink implementation

TODO: Consider adding NIO variant