(PUP-3352) Always accept compressed content

Previously, the agent was inconsistent in how it handled HTTP compression. By default, the agent would accept compressed content from the forge, but not from the puppet master, and there were different settings controlling those behaviors.

These commits remove the `zlib` and `http_compression` settings. If the agent's ruby has compression support (as determined by requiring `zlib`), then the agent will set the `Accept-Encoding` header to `'gzip; q=1.0, deflate; q=1.0; identity'` indicating that it accepts compressed content.

If the agent's ruby does not support compression, then the agent will not set the `Accept-Encoding` header.

Note, puppet used to specify different q values when connecting to master & forge, and this PR doesn't change that.

Also, this PR should not cause a regression in PUP-1680, because that issue occurred when ruby could require `zlib`, but puppet didn't specify an `Accept-Encoding` header. However, now if ruby can require `zlib` then we always specify the `Accept-Encoding` header.
It appears that the Forge uses Rack::Deflater, which deflates content [without Zlib headers](https://github.com/rack/rack/blob/master/lib/rack/deflater.rb#L108-L109):

```
[30] pry(#<Puppet::Forge::Repository>)> Zlib::Inflate.new.inflate(x) and "didn't explode"
Zlib::DataError: incorrect header check
from (pry):23:in `inflate'
[31] pry(#<Puppet::Forge::Repository>)> Zlib::Inflate.new(-Zlib::MAX_WBITS).inflate(x) and "didn't explode"
=> "didn't explode"
[32] pry(#<Puppet::Forge::Repository>)> -Zlib::MAX_WBITS
=> -15
```

The existing code never worked, we need to perform the inflation with the window bits [set to -Zlib::MAX_WBITS](http://www.ruby-doc.org/stdlib-2.1.2/libdoc/zlib/rdoc/Zlib/Inflate.html#method-c-new)