Gzip incoming

We have a need to support a backend service that is returning responses that are already gzip encoded.  

This PR enables the incoming handler to recognise that the content is in gzip format and unzip it so that it can pass through subsequent middleware as normal.  If backend service does not return gzip encoded header then no change is made to the stream.

Minimal change to the incoming request handler, have added a test case to demonstrate it works (though I do get failing tests that I am unsure to fix that appears to mirror failing tests in the master branch).