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

https://bugzilla.mozilla.org/show_bug.cgi?id=1085739
https://bugzilla.mozilla.org/show_bug.cgi?id=1088361

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
makes sense to change, I think. but I think I wrote that originally to respect the query string in preflight `OPTIONS`? but, tbh, I don't know how headers work with CORS'd responses. so let me know.