API: rename pandas/core/generic.py -> pandas/core.ndframe.py
IMO `generic.py` is a very anonymous name and it would be better to have the more descriptive name `ndframe.py`.

`core/generic.py` will still exist, but will emits a deprecation warning if used/imported from. I've added a deprecation test in `pandas/tests/ndframe/test_frame_and_series.py`.


is pandas.core.generic user-facing? if not, then this will complicate looking through histories of lines (e.g. with `git log -G`) We can't do this right now, core is only semi private. 

If we want to change things here, we have to deprecate and make it private first Hm, yeah, I thought renamed files maintain their git history, but it looks like they don't (at least `git log -p -- pandas/core/ndframe.py` doesn't), so I guess this PR has a bigger trade-off than I thought when I made it. 

I guess unless there is agreement to the cost of this change (losing git history) is worth it, I'll have to close the PR again. I'll leave this open for a while for discussion just in case. Independent of the git history, we can't do this right now.

We would have to deprecate core first before we can move stuff around Actually as I suspected, git history is actually preserved and you can see the git history  by using the ``--follow``parameter, e.g.  ``git log -p --follow HEAD~100..HEAD -- pandas/core/ndframe.py``. OF course, people may forget/not know about `--follow`, so there's that negative aspect.

@phofl, my plan is to make *two* PRs in order to maintain git history AND go through a proper deprecation cycle, so this change could be backward compatible as per our normal rules. I've upload the second PR in order to show what I planned (see #51173). If you look at these two PRs as a whole, you'll see it is backward compatible (i.e. the `pandas.core.generic` is deprecated) and git history is preserved (using ``--follow``). I am -1 as is.

The general idea is to deprecate core as a whole, technically it is already considered private (https://pandas.pydata.org/docs/reference/index.html)

There is already an open issue about it with lots of discussion:
https://github.com/pandas-dev/pandas/issues/27522

Renaming the file and pointing downstream libraries/users to another file when we might want to deprecate the whole module is not a good idea. A bad name is not a strong enough reason to cause all these disturbances and confusing side effects imo. Ok no worries, I'll close the PRs. I can see that the core` discussion superceeds this issue. Closing based on comments. Happy to rename generally, but we have to make a decision for the core deprecation first