`tokenizer.special_tokens_map` has stringified list for "additional_special_tokens" value.
## Environment info

- `transformers` version: 4.8.2
- Platform: macOS-10.15.7-x86_64-i386-64bit
- Python version: 3.8.10
- PyTorch version (GPU?): 1.9.0 (False)
- 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?: No
- Using distributed or parallel set-up in script?: No

### Who can help
@LysandreJik maybe?

## Information

Model I am using (Bert, XLNet ...): XLMRoberta

The problem arises when using:
* [ ] the official example scripts: (give details below)
* [X] my own modified scripts: (give details below)

The tasks I am working on is:
* [ ] an official GLUE/SQUaD task: (give the name)
* [ ] my own task or dataset: (give details below)

## To reproduce

Steps to reproduce the behavior:

1. `>>> from transformers import XLMRobertaTokenizer`
2. `>>> m = XLMRobertaTokenizer.from_pretrained('xlm-roberta-base')`
3. `>>> m.add_special_tokens({"additional_special_tokens": ["<space>"]})`
4. `>>> m.special_tokens_map['additional_special_tokens'] == "['<space>']" # True`

## Expected behavior

The value should be a list containing the special characters. :-) The work-around is to use the `additional_special_tokens` attribute directly. 
That seems like an issue indeed! Pinging @SaulLu <|||||>Thank you for your issue @erip! This seems to be a bug to me as well, I just opened a PR #12759 that should solve this problem. Now the command:
```python
from transformers import AutoTokenizer
m = AutoTokenizer.from_pretrained('xlm-roberta-base')
m.add_special_tokens({"additional_special_tokens": ["<space>"]})
print(m.special_tokens_map['additional_special_tokens'] == ['<space>'])
```
should output:
```
True
```