Cache validation with ETag

Since #284 it is possible to set Cache-Control headers, but ETags are ignored. For a REST-API it would be an improvement, if you provide can return `304` instead of a huge list (for example). I didn't tried `Last-Modified`, but ideally it should support the full S2-cache feature set.