Fully implemented the fallback feature, using a second Cache

Changed to use a second Cache for fallback data.

Possible controversial decision: During the process, I removed the absoluteUrl function from the worker. I couldn't figure out the use case, and hence didn't know when to use it. For consistency I didn't use it anywhere.
Yes, the `then` method checks the returned value and recognises a rejected Promise as a failure. Apparently this performs better than throwing.

It's new to me too but I've seen it elsewhere.