CLN: Moving Series.rank and DataFrame.rank to generic.py
I'm pulling this out from PR #11918. It is a first step toward solving issue #11759

The signature of `Series.rank` changes, and is now the same as `DataFrame.rank`. This may cause some problems...
