TYP: Use Self instead of class-bound TypeVar (generic.py/frame.py/series.py)
Progress towards https://github.com/pandas-dev/pandas/issues/51233.

There were more updates to do than I expected, so I split it up a bit. In this PR I do `pandas/core/generic.py`, `pandas/core/frame.py`, `pandas/core/series.py` & `pandas/indexes/`.

Thanks @topper-123!