wav2vec2: `convert_tokens_to_string` contracts legitimately repeated characters
## Environment info

- `transformers` version: 4.4.0.dev0
- Platform: Linux-5.8.0-44-generic-x86_64-with-glibc2.10
- Python version: 3.8.8
- PyTorch version (GPU?): 1.8.0 (True)
- Tensorflow version (GPU?): 2.4.1 (False)
- Using GPU in script?: N/A
- Using distributed or parallel set-up in script?: N/A

### Who can help

@patrickvonplaten - issue is most probably due to https://github.com/huggingface/transformers/blob/cb38ffcc5e0ae2fac653342ac36dc75c15ea178f/src/transformers/models/wav2vec2/tokenization_wav2vec2.py#L203

## Information

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

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

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

## To reproduce
```python
from transformers import Wav2Vec2Processor

tokenizer = Wav2Vec2Processor.from_pretrained('facebook/wav2vec2-base').tokenizer
tokenizer.decode(tokenizer('CARRY').input_ids)
# CARY
```

Decoder should have returned `'CARRY'` instead.
Can you try this?

```python
from transformers import Wav2Vec2Processor

tokenizer = Wav2Vec2Processor.from_pretrained('facebook/wav2vec2-base').tokenizer
tokenizer.decode(tokenizer('CARRY').input_ids, group_tokens=False)
# CARRY
```

Because we need to decode the predicted tokens with CTC, `"RR"` is decoded to `"R"` by default. See this blog post for more information: https://distill.pub/2017/ctc/<|||||>Yeah looks good! Thanks!<|||||>By the way, I totally get why it's needed for CTC, I mistook it for the tokenizer used to decode the final results but noticed it wasn't the case. The final results work as expected. Sorry for the false alarm!