Fallback cache keys
Description
When running CI/CD pipelines, you often cache various files to speed up subsequent runs, but you don't want one branch's cache to pollute another branch's execution. CircleCI let's you specify an array of cache keys when restoring cache, so you can try to restore one from your topic branch first, and if not present, then restore from the master branch. This seems like efficient and effective. We should let users specify fallback cache keys.