This commit adds support for gzip-compressing commands which the
PuppetDB terminus sends out. When stockpile persists the commands to
disk, it stores the gzipped json bytes with a .json.gz file extension.
Command payloads are decompressed and parsed from JSON when processed
back out of the queue.
The terminus does not gzip-compress the command content itself.
Instead, to minimize memory usage somewhat and realize a bit better
performance, it passes through its intent for the implementation
upstream from the Puppet::Network::HttpPool.http_instance to perform
the gzip compression. Corresponding work in Puppet Server and its
upstream clj-http-client library enables the payload to be compressed.