Generate: PT's `top_p` enforces `min_tokens_to_keep` when it is `1`
# What does this PR do?

Fixes #23688 

Contrary to our description in the docstring, PT's `top_p` was not enforcing `min_tokens_to_keep` when it was 1 (the default). TF and FLAX were fine. This PR corrects it, and adds a check on `min_tokens_to_keep` (must be a non-negative integer)
_The documentation is not available anymore as the PR was closed or merged._<|||||>> top_p was not enforcing min_tokens_to_keep when it was 1 

From the diff - I don't see how this is resolved. The checks ensure the value of `min_tokens_to_keeps` but doesn't seem to be conditional on `top_p`. Am I missing something? <|||||>@gante I hit an issue related to this in the prior version of transformers, glad to see that it's fixed thanks! However why don't we enforce `min_tokens_to_keep >= 1`. 0 makes no sense right?<|||||>@njhill true, the initial check should be against `>=1`, patching it