Enable client caching (supercedes #776)

This commit enables validation of client side caches via `If-None-Match` and `If-Modified-Since` headers.

Wrapping resources with the `clientCache` directive and replying with the correct `ETag`/`Last-Modified` headers is all that's needed to take advantage of this functionality.