Raise `GatedRepoError` instead of a plain `OSError` for gated repos
`cached_files` and `has_file` caught `huggingface_hub`'s `GatedRepoError` and
re-raised it as a plain `OSError`, discarding the information that the failure
was a missing permission rather than any other hub error. Callers, and anything
triaging CI logs, had to match on the English message text to tell the two apart.