Allow deprecate_nonkeyword_arguments to not specify version, show class name
xref https://github.com/pandas-dev/pandas/pull/41511#discussion_r633386611

as request, ping @jreback @simonjayhawkins 

I've removed the ability to pass an integer to `allowed_arguments` as it added complexity, was only used once in the codebase anyway, and wasn't even covered by tests

Now, if `version` is None, then it'll just print "In a future version of pandas", it'll show the class name (e.g. `Series.drop_duplicates` instead of just `drop_duplicates`) and won't print `'self'` in the warning message
> Now, if version is None, then it'll just print "In a future version of pandas"

Personally, I think it is good practice to mention the version when it will be removed/changed, so forcing us to do it here is maybe actually fine. > > Now, if version is None, then it'll just print "In a future version of pandas"
> 
> Personally, I think it is good practice to mention the version when it will be removed/changed, so forcing us to do it here is maybe actually fine.

disagree this locks us in, and we don't do this anywhere now. this should be a deliberate decision.  > disagree this locks us in, and we don't do this anywhere now. this should be a deliberate decision.

1\) we are already doing this for all other cases of deprecated positional keyword arguments, and 2) this has been decided in our version policy Hi @jorisvandenbossche - deprecated positional keyword arguments are quite rare in pandas, there's not been many so far, and most other FutureWarnings don't mention specific versions, e.g.
```python
            warn(
                "The `inplace` parameter in pandas.Categorical."
                "set_categories is deprecated and will be removed in "
                "a future version. Removing unused categories will always "
                "return a new Categorical object.",
                FutureWarning,
                stacklevel=2,
            )
```

It's true that the version policy says

> Deprecations will only be enforced in **major** releases. For example, if a
behavior is deprecated in pandas 1.2.0, it will continue to work, with a
warning, for all releases in the 1.x series. The behavior will change and the
deprecation removed in the next major release (2.0.0).

though it doesn't say that warnings should specify versions.

I have no preference here though, am happy to go with whatever you all want