Compress and decompress headers for upstream traffic replacement

Right now we're just appending upstream data to the HTTP headers. This can make slitheen identifiably different from regular Firefox connections.

This feature was talked about in the paper but never implemented.