Length of special_tokens_mask doesn't align with the input_ids
# 🐛 Bug

## Information

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

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

Steps to reproduce the behavior:
```
from transformers import BertTokenizer

tokenizer = BertTokenizer.from_pretrained("bert-base-cased")
data = tokenizer.encode_plus("Hello, world!", add_special_tokens=False, return_special_tokens_mask=True)
assert len(data['input_ids']) == len(data['special_tokens_mask'])
>> AssertionError
```
<!-- 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
Expect there to be no assertion error. The mask should be of the same shape as the input_ids.

## Environment info
<!-- You can run the command `python 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.4.1
- Platform: Linux
- Python version: 3.5.2
- PyTorch version (GPU?): 1.2.0
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: No
