(wait til 2.0) STYLE rename fixtures and enable redefined-outer-name on tests
- [ ] closes #50553 (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
- [ ] 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.

This changes a lot of files, but it's practically all automated

I've split this into 2 separate commits:
1. add the script / pre-commit hook, and run hook on all files
2. make a handful of manual adjustments (for when a fixture is set equal to another one to generate a cartesian product)

The vast majority of changes here are automated and driven by the script (which is 100% tested)

This is what the pytest docs recommend doing https://docs.pytest.org/en/stable/reference/reference.html#pytest-fixture :

> If a fixture is used in the same module in which it is defined, the function name of the fixture will be shadowed by the function arg that requests the fixture; one way to resolve this is to name the decorated function fixture_<fixturename> and then use @pytest.fixture(name='<fixturename>').
let's not bother