ci(fetch_olean_cache.sh): error handling (#3628)
Previously, the CI would be interrupted if extracting the olean cache failed. After this PR, if that step fails, all oleans are deleted and then CI continues.
I also changed the search for ancestor commits with caches to look for `.xz` files instead of `.gz` files, for consistency.
Co-authored-by: Bryan Gin-ge Chen <bryangingechen@gmail.com>