Repetition penalty work falsely in case the logit of the token is negativ
## 🐛 Bug

<!-- Important information -->

Model I am using (LMHeadModels; distilgpt2 in this example but holds true for all LMHeadModels):

Language I am using the model on English:

The problem arise when using:
* [ ] the official example scripts: (give details)
* [x] my own modified scripts: (give details)

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

## To Reproduce

Run the following code:

```
input_sentence = 'The dog'
tokenizer = AutoTokenizer.from_pretrained('distilgpt2')
model = AutoModelWithLMHead.from_pretrained('distilgpt2')
input_ids = torch.tensor(tokenizer.encode(input_sentence)).unsqueeze(0)
outputs = model.generate(input_ids=input_ids, do_sample=True, bos_token_id=tokenizer.bos_token_id, eos_token_ids=tokenizer.eos_token_id, pad_token_id=tokenizer.pad_token_id, repetition_penalty=1.5)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```

## Expected behavior
Output: 
`"The dog dog dog dog dog dog dog dog dog dog dog dog dog dog dog dog dog dog"`

In the output, the word dog is repeated multiple times. It can be noticed that the higher the `repetition_penalty`, the more likely already occurring words are to be repeated. Thus, the penalty achieves exactly the opposite of what it is supposed to do.

## Environment

* OS: Linux
* Python version: 3.6.8
* PyTorch version: 1.2.0
* PyTorch Transformers version (or branch): main branch v.2.3.0
* Using GPU ? No
* Distributed of parallel setup ? No
* Any other relevant information:

## Additional context

The reason for this behavior can be understood when looking at line https://github.com/huggingface/transformers/blob/81db12c3ba0c2067f43c4a63edf5e45f54161042/src/transformers/modeling_utils.py#L731 :

If the logit `next_token_logits[i, previous_tokens]` is < 0, then dividing by a number > 1 is actually going to increase the probability of sampling that token the next time instead of reducing it.

Propsed fix in PR #2303 