CLN: Remove MultiIndex._get_grouper_for_level
- [x] closes #49452 (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

@rhshadrach Cleaner branch and passes tests locally (hopefully CI will work).  Is there a reason though to even keep `_get_grouper_for_level` around or use it in the Grouping class?  Around L483 in gouper.py I think I could just set `self.grouping_vector = index_level.map(mapper)` and achieve the same outcome.  Nothing else uses `_get_grouper_for_level()` so is there a need to keep it around at all? @codamuse can you address the linting failures and merge main > @codamuse can you address the linting failures and merge main

@jbrockmendel updated.  Do you think `_get_grouper_for_level()` makes sense to keep around?  I don't think the name is even reflective of what that function does anymore (no levels to get a grouper and `level` isn't even an accepted argument).   Since it's only used in grouper.py L483 would it be cleaner to simplify and change L483 to:

`self.grouping_vector = index_level.map(mapper)`

while dropping `_get_grouper_for_level()` or deprecating it some other way just in case?  

None of the above reflected in this PR, just wondering why not do it that way.
 > [...] would it be cleaner to simplify and change [...]

seems reasonable. LGTM pending green.  Love to see more simplifications in grouper.py Thanks @codamuse - very nice!