[WIP] Allow override of request cache headers

This PR corresponds to feature #99.
Any comments welcome (I know, tests are missing..)
this is a code style question really, but i would prefer to write it as 
```
if (!empty($controls[$key])
    && ($overwrite || !$response->headers->hasCacheControlDirective($flag))
) {
```

no need for two nested if statements. having $overwrite first as its way cheaper to check than the method call.