Allow tuples in fast tokenizer
Author: xhluca
Pull request: no

### System Info

- `transformers` version: 4.20.1
- Platform: Linux-5.15.0-48-generic-x86_64-with-debian-buster-sid
- Python version: 3.7.13
- Huggingface_hub version: 0.8.1
- PyTorch version (GPU?): 1.12.0 (True)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: Yes
- Using distributed or parallel set-up in script?: Jupyter Notebook

### Who can help?

@SaulLu

### Information

- [ ] The official example scripts
- [X] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [ ] My own task or dataset (give details below)

### Reproduction

```python
import transformers as hft

tokenizer = hft.AutoTokenizer.from_pretrained('bert-base-uncased')
tokenizer
# PreTrainedTokenizerFast(name_or_path='bert-base-uncased', vocab_size=30522, model_max_len=512, is_fast=True, padding_side='right', truncation_side='right', special_tokens={'unk_token': '[UNK]', 'sep_token': '[SEP]', 'pad_token': '[PAD]', 'cls_token': '[CLS]', 'mask_token': '[MASK]'})

tokenizer(
    ('hello world', 'foo bar')
)
```

Will give this error:

```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~/ipykernel_29616/3046903860.py in <module>
      1 tokenizer(
----> 2     ('hello world', 'foo bar')
      3 )

/opt/conda/lib/python3.7/site-packages/transformers/tokenization_utils_base.py in __call__(self, text, text_pair, add_special_tokens, padding, truncation, max_length, stride, is_split_into_words, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose, **kwargs)
   2510                 return_length=return_length,
   2511                 verbose=verbose,
-> 2512                 **kwargs,
   2513             )
   2514         else:

/opt/conda/lib/python3.7/site-packages/transformers/tokenization_utils_base.py in batch_encode_plus(self, batch_text_or_text_pairs, add_special_tokens, padding, truncation, max_length, stride, is_split_into_words, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose, **kwargs)
   2701             return_length=return_length,
   2702             verbose=verbose,
-> 2703             **kwargs,
   2704         )
   2705 

/opt/conda/lib/python3.7/site-packages/transformers/tokenization_utils_fast.py in _batch_encode_plus(self, batch_text_or_text_pairs, add_special_tokens, padding_strategy, truncation_strategy, max_length, stride, is_split_into_words, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose)
    413 
    414         if not isinstance(batch_text_or_text_pairs, list):
--> 415             raise TypeError(f"batch_text_or_text_pairs has to be a list (got {type(batch_text_or_text_pairs)})")
    416 
    417         # Set the truncation and padding strategy and restore the initial configuration

TypeError: batch_text_or_text_pairs has to be a list (got <class 'tuple'>)
```

### Expected behavior

Tuples of str should be supported just like lists of str, as it is the case with non-fast tokenizers. For example:
```python
import transformers as hft
tokenizer = hft.BertTokenizer.from_pretrained('bert-base-uncased')
tokenizer(
    ('hello world', 'how are you?')
)

# {'input_ids': [[101, 7592, 2088, 102], [101, 2129, 2024, 2017, 1029, 102]], 'token_type_ids': [[0, 0, 0, 0], [0, 0, 0, 0, 0, 0]], 'attention_mask': [[1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]}
```

Comments:
Not sure if there is a specific reason for this or if it was just a mistake when it was introduced. In any case the PR above should fix it.

Thank you!