Store location for 301 caching

Fixes a bug were 301 responses were stored in the cache but the location header
was not, making the cache useless.

Not sure if this is a good idea, I'm conditionally adding the location's header value as an extra cached value.

@hornairs, @boourns