properly respond to IfModifiedSince headers. should improve caching
Merge branch 'cache-headers' into develop