Caching improvements

A few improvements to HTTP caching to make SilverStripe more friendly to caching reverse-proxies such as Varnish.