ENH use nostests yield construct for better error reporting in common tests.
enh give yielded tests nicer names
Merge pull request #2700 from amueller/refactor_common_tests

MRG Use yield to generate common tests.