Improve cacheFile() errors
Problem: Skipping cache extraction due to empty cache key
and Skipping cache archiving due to empty cache key
notices are emitted even if the cache key is not empty, but some other issue occurs when crafting the cache file path
Solution: emit different errors for each failure case that might happen, instead of just single "empty cache key".
See #3514 for a potential issue affected by this.
Edited by Nikolay Edigaryev