Proper cache headers

Allow public caching. Add revalidation by setting
ETag and Last-Modified headers.
Set up GithubHook middleware with Blog endpoint
Add config.ru file.

Implements an HTTP cache as a Rack middleware.