Re-enable smart avoidance of response recompression.

The problems this was causing earlier were the result of an incorrect
assumption that req.acceptsEncodings() would always return false when the
given encoding was not supported; in fact, it can return a completely
different supported encoding that's not falsy.
Fix If-None-Match support.

Nginx ignores proxy_set_header directives on higher levels if it's used on a
lower level. Because that's, like, super intuitive and not at all useless.