[from_pretrained] Allow tokenizer_type ≠ model_type
For an exemple usage of this PR, see the `tokenizer_class` attribute in this config.json: https://s3.amazonaws.com/models.huggingface.co/bert/julien-c/dummy-diff-tokenizer/config.json

Instead of a class, we could have used a `tokenizer_type` belonging to the set of all `model_type`s, like `"bert"`, etc. but it feels more restrictive, especially in case we start having tokenizer classes that are not obviously linked to a "model", like a potential "TweetTokenizer"

Context: https://github.com/huggingface/transformers/pull/6129

**Update: documented by @sgugger in https://github.com/huggingface/transformers/pull/8152**
> Not sure I fully understand the use case, but nothing against the principle of it.

The idea is to prevent combinatorial explosion of "model types" when only the tokenizer is different (e.g. Flaubert, CamemBERT if we wanted to support them today)

In the future we might even want to have a few model-agnostic tokenizer classes like ByteLevelBPETokenizer (basically RobertaTokenizer), as they can be initialized pretty exhaustively from the init args stored in `tokenizer_config.json`



<|||||>Documented by @sgugger in https://github.com/huggingface/transformers/pull/8152