Use fixtures in pandas/tests/base
part of #23877
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

**Note:** The diff is a bit inflated. Most changes are just indentation because for loops are replaced by a parametrized fixture.
I think I addressed all your comments here @WillAyd  @SaturnFromTitan if its easy for you, can you point out sections of the diff that are effectively just-de-indentation, should make it easier to focus review I addressed all your comments @jbrockmendel 
Also, I added comments for all real changes in the tests to aid the review @jreback CI is green and I addressed all your comments thanks. ideally very targeted PRs are best as we can merge quickly.  That's the plan @jreback I wanted to focus on fixturizing the tests before refactoring.

Seeing how this PR went, it apparently makes more sense to refactor right away and go test by test instead ✌️ 