Add stale-if-error directive support

Following on from my other PRs this adds `stale-if-error` directive support to the cache plugin: it allows the plugin to serve a stale response in the event of a server response/network error as defined in [RFC 5861](https://tools.ietf.org/html/rfc5861).