slightly better cache-control

* only mess with GET
* add etags
* conditional (304) requests

By the time we get to add_cache_header, we've already invested a bunch
of time in making this request (and even more to re-sha1). However, this
should at least help varnish quite a bit.