TST: Parametrize simple yield tests
Simple `yield` tests are those that do `for x in y: yield test, x` where `y` is some constant list/tuple. It also requires the tests to be in a simple class that doesn't subclass `unittest`'s classes (because parametrization doesn't work there).

There are still `yield` tests in 
 * frame/test_query_eval.py
 * io/test_packers.py
 * io/test_pickle.py
 * test_internals.py
 * test_window.py

but I haven't changed them since they don't conform to the requirements above.

This is also not an attempt to parametrize any and all test loops.

 - [x] cf #15341
 - [ ] tests added / passed
 - [x] passes ``git diff upstream/master | flake8 --diff``
 - [ ] whatsnew entry
