Extend typing to path-like objects in `PretrainedConfig` and `PreTrainedModel`
# What does this PR do?

In my experience, I often call the `from_pretrained` and `save_pretrained` methods of models and configurations with a path-like variable rather than a string. Since the paths are then used by various `os` functions, this works just fine: however, the relevant variables are typed as strings only, raising warnings when using an IDE :anguished: .

This PR extends the typing to `Union[str, os.PathLike]` when relevant inside `PretrainedConfig` and `PreTrainedModel`   methods. 
Since passing a path-like object is already tacitly supported in most cases, no significant changes to the code are necessary. In a few places, the relevant variable needs to be turned to a string in order to support functions such as `is_remote_url`.


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors which may be interested in your PR.

Maybe (documentation): @sgugger


Good idea!

This could be done for tokenizers as well, no? (the `from_pretrained` for tokenizers is in `tokenization_utils_base.py`)<|||||>I have extended the same modifications to the tokenizers, as suggested by @thomwolf , and to auto classes too.