Don't cache non-GET requests and non-200 responses

Modified caching-request so that it does not cache responses to requests
that are not GET.

Added a test to check that non-200 responses are not cached.
Implemented maxAge and etag support.

A cached response is returned only if it's younger than maxAge seconds.

Requests include etag from the last cached response.