FR: Tokenizer function that can handle arbitrary number of sequences
## 🚀 Feature

Currently Tokenizers only support 1 or 2 sequences being added together, and them being concatenated with the appropriate SEP and CLS tokens for each model. My use case requires more sequences being added together, all separated by SEP tokens and having one CLS token at the start (or end for XLNet) of the entire sequence.

E.g., for BERT:
```
[CLS] This is my first sentence [SEP] This is my second sentence [SEP] And finally my third sentence [SEP]
```

Would it be possible to have a function supported for current and future models that can take a list of strings in and process them as outlined above.

I would be especially happy if there was an accompanying feature for token type ids, which would alternate between successive sequences.
Using the above example, this would mean:
```
0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
```

Thanks!

Looks like a pretty simple and natural extension, what do you think @LysandreJik?<|||||>It would be easy to implement indeed, do you use this for dialog (because of the alternating token type ids)?<|||||>Not particularly, but I can certainly imagine that being a useful use-case.

I am more interested in adding extra features directly to the language model when classifying a piece of text. For example:
`[Location] + [Occupation] + [Social media post]`<|||||>This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
