`MinNewTokensLengthLogitsProcessor` for `.generate` method #20814
### **Approved** by [#20814 issue](https://github.com/huggingface/transformers/issues/20814)

### What does this PR do?
It implements `MinNewTokensLengthLogitsProcessor` class for enforcing a min-length of **NEW** tokens by setting EOS (end-of-sequence) token probability to 0.

Framework: `pytorch`

### Who can review?

@gante
_The documentation is not available anymore as the PR was closed or merged._<|||||>There seems to be a problem with CI that we'll have to fix before merging. @kotikkonstantin, what fo you see when you click on "Details" next to "setup_and_quality" in the checks section below?<|||||>> There seems to be a problem with CI that we'll have to fix before merging. @kotikkonstantin, what fo you see when you click on "Details" next to "setup_and_quality" in the checks section below?

Skipped:
![image](https://user-images.githubusercontent.com/22777646/209811255-28367baa-66de-4d23-a315-a0f255972674.png)

I suppose it's skipped because it keeps previous successful parts of the CI pipeline if it's not unchanged in the last commit<|||||>> > There seems to be a problem with CI that we'll have to fix before merging. @kotikkonstantin, what fo you see when you click on "Details" next to "setup_and_quality" in the checks section below?
> 
> Skipped: 
> 
> I suppose it's skipped because it keeps previous successful parts of the CI pipeline if it's not unchanged in the last commit

I'm not right here. After failed CI-pipeline run, in the following successful CI-pipeline run, `setup and quality` just was stopped instead of launching<|||||>@kotikkonstantin CircleCI is complaining about terms of service -- are you based in one of the countries linked [here](https://support.circleci.com/hc/en-us/articles/360043679453-CircleCI-Terms-of-Service-Violation-Sanctioned-Country)?<|||||>It seems there is an issue with your CircleCI permissions, the tests won't run.
Could you try refreshing your permissions as shown [here](https://support.circleci.com/hc/en-us/articles/360048210711-How-to-Refresh-User-Permissions-)? You might need to push an empty commit afterward.<|||||>@gante @sgugger 
Thank you, guys, for your assistance in approaching it!

 I've filled out [Individual Appeal Form](https://docs.google.com/forms/d/e/1FAIpQLSeaVwzPnt2xREoZxe_ysnmNEJQUfBWrTI1TzkE7bq1h06eHqA/viewform). I hope I get access. If not, could you launch the CI pipeline on your own? <|||||>@kotikkonstantin I think we can. Let's try it out:
1 - add me as a contributor to your fork of `transformers`
2 - I will push an empty commit there
3 - maybe CI gets triggered<|||||>> @kotikkonstantin I think we can. Let's try it out: 1 - add me as a contributor to your fork of `transformers` 2 - I will push an empty commit there 3 - maybe CI gets triggered

@gante done<|||||>@gante I can see CI-logs:
<img width="1663" alt="image" src="https://user-images.githubusercontent.com/22777646/210263144-92cc0aae-5e86-4547-a6b5-012cd2346a06.png">
<|||||>@kotikkonstantin yup, I've took the liberty to run the `make fixup` shell command and push :) (which should fix it)