Implement Zlib compression support

This implements zlib compression behind a Content-Encoding: deflate
Deflate implementation is not very standard and some services have zlib support instead of deflate.
Format :tongue: