Refactored class names from GZIP to Compression

The only GZIP specific code is in the message encoder, I've added
deflate support as well so now the classes have misleading names,
CompressionContext (formerly GzipContext) now carries compression type
information so it actually has something to do in addition to just
existing. It also solves the awkward problem of not knowing if Gzip or
GZip is the correct capitalisation.
Changed X-Original-Host to X-Root-URL

Put "URL" back in to imply it's more than just the hostname (which you
can get as standard anyway), changed log level to trace as the end user
is unlikely to be interested every time once it's been set up.