(PUP-3352) Remove `zlib` setting

Previously, puppet had a `zlib` setting to control whether to use zlib
compression when connecting to the forge or when using `b64_zlib_yaml`
as a network serialization format.

This commit removes the `zlib` setting, and instead, if ruby supports
the `zlib` library, then we will accept compressed content, e.g. when
downloading modules from the forge.

The b64_zlib_yaml format is being removed in Puppet 4, so that part
doesn't matter.

The `zlib` setting defaulted to false, so there shouldn't be any
behavior changes other than you can no longer set the property to
false.
(PUP-3352) Always accept compressed content from the master

Previously, a puppet agent would not use compression when downloading
catalogs and file contents. Compression could be enabled via the
`http_compression` setting, though it defaulted to false.

This commit removes the `http_compression` setting. If the agent ruby
supports zlib, then the agent will add an Accept-Encoding header
specifying that it will accept compress content.

If the agent ruby doesn't support zlib, then the agent will not set
the header, and it will behave like it used to.

Note that not all HTTP servers support compression, e.g. webrick, or are
configured to serve compressed content, e.g. passenger. So in order for
the agent to receive compressed content, the agent must accept it, and
the server must be configured to send it.
(maint) Write forge HTTP debug output to stderr

The forge has a different code path for creating Net::HTTP connections,
so it did not abide by the `http_debug` setting.

This commit changes the module tool so that if `http_debug` is true,
that it writes HTTP debug output to $stderr
(PUP-3295) Remove method obsolete since < 0.25
Merge pull request #3170 from kylog/issue/pup-3295/remove-metaparam_compat_mode

(PUP-3295) Remove method obsolete since < 0.25
(PUP-3352) Normalize HTTP Accept-Encoding values

Previously, puppet and the module tool uses different Accept-Encoding
values. The puppet version gave equal weight to gzip and deflate,
whereas the module tool preferred gzip. The module tool's version
appears to have been copy and pasted from ruby's Net::HTTP code.

This commit changes puppet to give higher precedence to gzip (to match
the others), and refactors the value of the header into a constant that
both puppet and the module tool use.
Merge pull request #3163 from joshcooper/ticket/master/PUP-3352-always-use-compression

(PUP-3352) Always accept compressed content