Address comments on Gzip implementation

- don't mutate PATH_INFO in env, test
- test fallback content type matches Rack::File
- change assertion style
- make HTTP_ACCEPT_ENCODING comparison case insensitive
- return gzip path from method instead of true/false so we don't have to assume later
- don't allocate un-needed hash.

Original comments:

https://github.com/rails/rails/commit/cfaaacd9763642e91761de54c90669a88d772e5a

cc @jeremy
I have an aversion to returning `nil` where I can avoid it. I generally take `nil` to mean IDK where as here i'm aware that the value returned should be falsey and false is more explicit than `nil`. If we start returning nil then we get into a habit of being able to call predicates like `nil?` which assume we know the output class. Here we only want to emit a falsey value.