Fixing camembert tokenization
The original fairseq implmentation of Camembert has a bunch of duplicate tokens in the dictionary, in particular there are two `<unk>` tokens but only the index of the first `<unk>` should be used:
```
import torch
camembert = torch.hub.load('pytorch/fairseq', 'camembert.v0')
list(camembert.task.source_dictionary[i] for i in range(10))
>>> ['<s>', '<pad>', '</s>', '<unk>', '<unk>', '<s>', '</s>', ',', '▁de', '.']
```

This PR updates Camembert tokenizer to fix this behavior and as a consequence fixes #2019 and #2020
Merging now to fix the xlnet test issue on master at the same time.<|||||>Also cc'ing @louismartin on this.<|||||>Thanks for fixing that.
This comes from a problem in fairseq where special tokens are added twice when using SentencePiece.
Cross-referencing the fairseq issue: [https://github.com/pytorch/fairseq/issues/1309](https://github.com/pytorch/fairseq/issues/1309)