Disable gzip response compression for short responses

Not 100% reliable because we can’t always tell in advance how long the
response will be. Fortunately, a lot of responses are written by
handler.writeJSONStatus, which encodes the JSON first, so it can tell.
Other heuristics for responses not to compress:
* HEAD, PUT or DELETE request
* Response status >= 300