Be more parsimonious about what bits of happstack we import
Split and move the misc happstack utils module

Move it under the Framework heirarchy, and split out the ETag cache
feature into its own module.
Introduce a new cacheControl util, replacing useETag

In addition to an ETag, it emits the Cache-Control HTTP header.
In particular the useful controls are max-age, public and no-transform.
Use this in all the places where we had useETag, with sensible max-age
values.
Add cache control for static files and templates