Support serialized tokenizer in AutoTokenizer
Author: gkonstanty
Pull request: yes

# What does this PR do?

Addresses issue: https://github.com/huggingface/transformers/issues/7293

With these changes, the `AutoTokenizer.from_pretrained()` supports also loading a tokenizer, which was saved with [🤗 Tokenizers](https://github.com/huggingface/tokenizers) library.
Example:
```python
from tokenizers import CharBPETokenizer
tokenizer = CharBPETokenizer()
tokenizer.save('./char-bpe.json')

from transformers import AutoTokenizer
my_tokenizer = AutoTokenizer.from_pretrained('./char-bpe.json', use_fast=True)
```


## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to the it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/master/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/master/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. 
Also: @mfuntowicz (tokenizers), @thomwolf (due to https://github.com/huggingface/transformers/pull/7659)

Comments:
I'm having an issue that could be fixed by this PR. I trained a BPETokinizer using the Tokenizers library, uploaded the tokenizer generated JSON file to [my HF repository](https://huggingface.co/jonatasgrosman/bartuque-bart-large-mefmt/blob/main/vocab.json) and this command:

```python
from transformers import AutoTokenizer
AutoTokenizer.from_pretrained("jonatasgrosman/bartuque-bart-large-mefmt")
```

... Results on this error:

```python
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/models/auto/tokenization_auto.py", line 385, in from_pretrained
    return tokenizer_class_fast.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/tokenization_utils_base.py", line 1769, in from_pretrained
    resolved_vocab_files, pretrained_model_name_or_path, init_configuration, *init_inputs, **kwargs
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/tokenization_utils_base.py", line 1787, in _from_pretrained
    **(copy.deepcopy(kwargs)),
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/tokenization_utils_base.py", line 1841, in _from_pretrained
    tokenizer = cls(*init_inputs, **init_kwargs)
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/models/roberta/tokenization_roberta.py", line 171, in __init__
    **kwargs,
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/models/gpt2/tokenization_gpt2.py", line 178, in __init__
    self.decoder = {v: k for k, v in self.encoder.items()}
  File "/Users/jonatas/projects/github/bartuque/venv/lib/python3.7/site-packages/transformers/models/gpt2/tokenization_gpt2.py", line 178, in <dictcomp>
    self.decoder = {v: k for k, v in self.encoder.items()}
TypeError: unhashable type: 'list'
```

 I hope this PR will be merged soon.


Just an update... after renaming my tokenizer file from `vocab.json` to `tokenizer.json`, the AutoTokenizer stop to crash and is working well now.

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) are likely to be ignored.