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
it's possible that the [original `timeout`](#diff-28bcd70fabcdcec0fbe0bce2c0db7ee5R231) will get modified when it technically shouldn't. I would probably move this addition [below `timeout = int(request.GET['cache'])`](#diff-28bcd70fabcdcec0fbe0bce2c0db7ee5R233).