Big improvements to cache model. Use httprouter.

Use Julien Schmidt's httprouter package.
Handle caching and modification time in HTTP Request/Response.
Add additional handlers.