Adds function to set `Etag` and generate `Etag` from content
Adds function to check and intelligently set etag headers
Adds comments to HeaderInterface
Changes default expires offset to 1 hour for Etag
Adds inline comments in Cache and Header classes