Make 304 not modified responses more compliant

RFC 2616 specifies that the 304 response must continue sending caching headers
and any other headers it wishes to update. Specificaly:

> This rule does not allow an origin server to use a 304 (Not Modified) or a 206
> (Partial Content) response to entirely delete a header that it had provided
> with a previous response.