Move PerformanceWarning to core/common.py
ENH: Change groupby to allow funcs to produce lists/ndarrays, but raise PerformanceWarning instead
ENH: Use warnings.warn with PerformanceWarning

ENH: Change warning to something more reasonable.
TST: Catch warnings in test_groupby
TST: Add test util for checking for warnings

Just checks that only warnings of the specified type were produced
and works as a context manager.
TST: Use assert_produces_warnings in test_groupby
TST: Test result of non-agg groupby
TST: Add motivating test case to test_groupby.py