generated bundle for cache related things

This was generated with the code from the feature/generator-bundle branch and
only minor changes where needed before commiting.
implement etag and if-none-match listeners

For now using the sha1 sum of the response should suffice for our etag generation.

If we ever run in to performance problems due to this i might consider storing a randomly generated
ETag alongside each document that needs caching. Chanches are this will get revisited as soon as
we have more data in our systems and we run into performance issues.
write test for etag headers and remove debug comments
Merge branch 'feature/add-etag-headers' into develop