HTTP content coding for request and response bodies: gzip, deflate, brotli, and zstd.
An HTTP stack usually decides for itself which codings to advertise and decode. This lets the
caller own that decision instead, so decoding can rest on the Accept-Encoding of the request
actually in hand rather than on whatever the layer beneath negotiated.
On the way back, [AcceptEncoding::parse] reads what a request advertised and [decision] says
which coding a response should be decoded under, if any; [decode_stream] wraps the body in the
decoder for it. On the way out, [compress_buffer] and [compress_stream] apply a coding to a
request body, and [layer_content_encoding] names it alongside whatever the caller had already
declared.
deflate is the zlib-wrapped form of RFC 1950, which is what mainstream clients decode it as.