Allow Store Cache Time to Differ from Response

Sometimes we want the time a response is cached in the store to differ
from the validity period of the response.

This is specifically useful for id/hash-based fragments. These are
effectively valid forever however, we must always do some calculation to
ensure that this is the case (e.g. find the last updated time for a
record or selection of records).