TYP: NDFrame sort_values signature
#### NDFrame sort_values and inheritance

The question is related to method ``sort_values`` of ``NDFrame``, ``DataFrame`` and ``Series``.
When trying to close one issue in (#37715) below
```
pandas/core/frame.py:5361: def sort_values( # type: ignore[override]
```
I found out that the function signatures for ``NDFrame`` and ``DataFrame`` do not match because of the argument ``by``.
That was the cause of the mypy error.
For ``Series.sort_values`` it is reasonable not to have ``by``, but for ``DataFrame`` it is mandatory.
So, the function signatures for ``Series`` and ``DataFrame`` must be different and should not share the common interface.

Presumably, currently the method ``NDFrame.sort_values`` only stores the docstring for ``DataFrame.sort_values``.
It is reasonable to move the docstring to ``DataFrame.sort_values`` and completely remove abstract method ``NDFrame.sort_values``?
This will solve the problem with incorrect overriding.