Fixes #18191: Don't consider Accept-Language when generating a cache key

Thanks to choongmin for the original patch.

Remarks:
- tested on both 2.7 and 3.3
- http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44 doesn't give any meaning to the order of headers listed in `Vary` so I sorted those headers while creating the cache key to make sure the number of combinations is the smallest possible