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
I know you didn't change this code, but a comment here would be good:

```python
# If there's already a `Cache-Control` header with a `max-age`,
# use that TTL before falling back to the default TTL.
```
or not. maybe it's super obvious.