Roberta (and BERT) tokenization converts "do not" to "don't"
# 🐛 Bug

## Information

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

Language I am using the model on (English, Chinese ...): English

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)
* [x] my own task or dataset: (give details below)

## To reproduce

Execute the following:
```python
import transformers

tokenizer = transformers.RobertaTokenizer.from_pretrained('roberta-base')
print(tokenizer.decode(tokenizer.encode('is not')))
print(tokenizer.decode(tokenizer.encode('do not')))
```

The output is
```
<s> don't</s>
<s> is not</s>
```

<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->

## Expected behavior
The detokenization should not incorrectly introduce a contraction.

## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->
     
- `transformers` version: 2.8.0
- Platform: Linux-5.5.3-arch1-1-x86_64-with-glibc2.2.5
- Python version: 3.8.1
- PyTorch version (GPU?): not installed (NA)
- Tensorflow version (GPU?): not installed (NA)
- Using GPU in script?: no
- Using distributed or parallel set-up in script?: no

For anyone coming across this issue, you can disable all such transformations in `decode` by passing `clean_up_tokenization_spaces=False`. However, I maintain that this decoding behavior is not a sensible default.<|||||>fixed with #4024 