allow configuration to decide on cacheable status of response

Continuation of #61 
Allowing control over what is to be considered safe for adding the headers. As discussed in #35 / #33

* [x] Move the decide logic into separate class to reuse.