Fixturize tests/frame/test_api and tests/sparse/frame/test_frame
- [x] split off from #22730 
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

`tests/frame/test_api` was easy enough to fixturize, but I ran into problems because some tests (notably those in `SharedWithSparse`) are also used in `tests/sparse/frame/test_frame`, and there, the corresponding fixtures were not available. Therefore, this PR fixturizes both modules simultaneously, which also necessitates a new `conftest.py` for the sparse tests.

Some more notes:
* happy to hear feedback on the sparse fixture names. I haven't worked with `SparseDataFrame` so far, and couldn't find much documentation for (e.g. `default_kind`), so the names I chose are best effort
* I would have loved to replace `_check_all` with parametrization, but since fixtures can't be parametrized (see pytest-dev/pytest#349), I had to replace it with direct calls.

Hello @h-vetinari! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/tests/frame/test_api.py`](https://github.com/h-vetinari/pandas/blob/3c3583670880ff25476f50db8299dea966130ec0/pandas/tests/frame/test_api.py) !

 - There are no PEP8 issues in the file [`pandas/tests/sparse/frame/conftest.py`](https://github.com/h-vetinari/pandas/blob/3c3583670880ff25476f50db8299dea966130ec0/pandas/tests/sparse/frame/conftest.py) !

 - There are no PEP8 issues in the file [`pandas/tests/sparse/frame/test_frame.py`](https://github.com/h-vetinari/pandas/blob/3c3583670880ff25476f50db8299dea966130ec0/pandas/tests/sparse/frame/test_frame.py) !

 lgtm @TomAugspurger is this going to completely mess up SparseEA refactor? At a glance, it doesn't look like the merge will be *too* bad. I'd recommend merging this first. thanks