Use ResponseBody to model the response body everywhere.

This makes cache writing and gzip layering work a bit nicer
because there are fewer fields in HttpEngine to track the
various competing streams.
Merge pull request #1219 from square/jwilson_1221_responsebody

Use ResponseBody to model the response body everywhere.