Avoid erasing the attention mask when double padding
# What does this PR do?

There is currently a bug when padding the same inputs twice:
```
>>> from transformers import AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
>>> inputs = tokenizer("Hello, my name is Sylvain!", padding="max_length", max_length=32)
>>> print(inputs["attention_mask"])
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> inputs = tokenizer.pad(inputs, padding="max_length", max_length=32)
>>> print(inputs["attention_mask"])
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

This is done when using the `DataCollatorWithPadding` inside a `Trainer` (which is the default) when the samples have already been padded. This PR fixes that by honoring the current `attention_mask` when no padding is necessary.