fix `tokenizer_class_from_name` for models with `-` in the name
https://github.com/huggingface/transformers/pull/13023 breaks for some models with `-` in its name. e.g. `xlm-roberta`,

For example:

```

Traceback (most recent call last):
  File "/mnt/nvme1/code/huggingface/transformers-master/examples/pytorch/language-modeling/run_mlm.py", line 550, in <module>
    main()
  File "/mnt/nvme1/code/huggingface/transformers-master/examples/pytorch/language-modeling/run_mlm.py", line 337, in main
    tokenizer = AutoTokenizer.from_pretrained(model_args.model_name_or_path, **tokenizer_kwargs)
  File "/mnt/nvme1/code/huggingface/transformers-master/src/transformers/models/auto/tokenization_auto.py", line 432, in from_pretrained
    tokenizer_class = tokenizer_class_from_name(tokenizer_class_candidate)
  File "/mnt/nvme1/code/huggingface/transformers-master/src/transformers/models/auto/tokenization_auto.py", line 226, in tokenizer_class_from_name
    module = importlib.import_module(f".{module_name}", "transformers.models")
  File "/home/stas/anaconda3/envs/py38-pt19/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'transformers.models.xlm-roberta'
```

as you can see it tries to import "`transformers.models.xlm-roberta`", to reproduce:

```
RUN_SLOW=1 pytest tests/deepspeed -k clm_xlm_roberta
```

```
# module_name, tokenizers debug print:
xlm-roberta ('XLMRobertaTokenizer', 'XLMRobertaTokenizerFast')
```

This PR fixes it:
```
 module = importlib.import_module(f".{module_name.replace('-', '_')}", "transformers.models")
```

Oddly enough I don't get this problem if I run `xlm-roberta-base`, so this is an edge case. As the core models seems to not trigger the problem. Not sure why.

In the deepspeed test suite the 2 failing tests were:

```
RUN_SLOW=1 pytest tests/deepspeed -k clm_xlm_roberta
```

Now it has a core test - thanks @LysandreJik 

@LysandreJik also pushed a fix for model names that mismatch model files which is the case with `openai-gpt`

@LysandreJik, @sgugger 
Should we turn your code snippet into a test? It's almost complete - just needs an assert.<|||||>Yes, that would be great!<|||||>OK, done. 

It's not a perfect test as it'll fail on the first invalid entry rather than test them all, but it's probably good enough in this situation.

Thank you for doing the heavy lifting for adding this test, @LysandreJik <|||||>Hi there! Thanks a lot for fixing this while I was away. There is a `model_type_to_module_name` function defined in `configuration_auto` that already does all what you added. Will make a PR to switch to that. The tests should make sure it doesn't break anything.