Allow clients to select a bigger max-age (bug 1085739)

Should work exactly like before, excepts clients can select a bigger max-age if they want to.

* `?cache=0` will not return Cache-Control, unless the view already set one before we went through the middleware
* `?cache=garbage` will not return Cache-Control, unless the view already set one before we went through the middleware
* `?cache=1` will return a Cache-Control with max-age set to `settings.CACHE_MIDDLEWARE_SECONDS` since the provided value is too small
* `?cache=240` will return a Cache-Control with max-age set to 240