Feature request: support store_as gzip

address #16
This patch adds support for gzip-compression of data before storing it.
Yes, only gzip.

In my ssl+kerberos+httpfs environment, this patch works fine.
This code seems too complex to write here directly.
Make a new method to take a block to simplify code, like this:

```ruby
if @compress
  compress_context(hdfs_path, chunk) do |path, data|
    send_data(path, data)
  end
else
  send_data(hdfs_path, chunk.read)
end

def compress_context(hdfs_path, chunk, &block)
  # check @compress type
  # require, generate new path, generate tmpfile, compress data
  begin
    yield new_path, tmp
  ensure
    tmp.close
  end
end
```

By adding method `compress_context`(or other name), we should fix only this new method if we want to add another compression types.