WIP
Merge remote-tracking branch 'origin/master' into feature/cache-controls
WIP

- some cribbing from Sinatra going on for sure.
Since it's possible to define :public and :private directive, we should ignore public directive in favor of private directive (it's not official on RFC)
including value directives min-fresh and max-stale
Expires now considers value directives min-fresh and max-stale
Creating a PORO to store directives and deal with all rules envolved
Allowing value directives
Allowing non value and value directives
Handling time value and other formats
dashirizing non value directives key
Using directive class instead of have all the logic here
just new lines
simple etag implementation
Ensuring that fresh method keeps or includes the ETag header into response headers
Some refactorings
WIP: LastModified header
returning only headers which matters
Finishing last modified implementation
Fixing headers names. It must be a HTTP prefix