Add support for GZIP decompression.

Add new data type that contains the buffer and the position within the
buffer.

I got tired of thinking about the new protocol 0.8 stuff and wanted
something easier.