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
Makes sense that we need the file stat so we can tell an upstream cache that we vary on content encoding.. but.. the extra file stat per request is pretty rough for folks who *don't* have .gz assets available.

Couple possibilities
* allow turning off .gz-triggered content encoding awareness
* deduce the content type from path extname first, then limit .gz checks to text/*

(For most apps, most static file hits are going to be images that are already compressed)