Allow customising the HTTP Cache-Control defaults.

This is my proposed fix for #3501. It allows the default `Cache-Control` header to be customised using a yaml config array. You can choose true/false to enable or disable control settings, or you can set values.
For example:
```yaml
HTTP:
  CacheControl:
    max-age: 0
    must-revalidate: true
    no-transform: false
```
Would produce `Cache-Control: max-age=0, must-revalidate`

**EDIT: I've noticed that this would actually produce:**  `Cache-Control: must-revalidate`, because `0` is treated as false. Keen to hear thoughts before attempting to fix.
Worth making this into a string with the content of `"true"` because that's what it's going to end up as.