REF: Avoid fallback in GroupBy._agg_general
pre-emptively use non-cython path in explicit cases instead of try/except.  Many of the affected cases involve empty DataFrames and I think the tested behavior is sketchy (e.g. the fallback paths ignore the `numeric_only` kwarg), so putting this in draft mode while I look at that.

@WillAyd can i get your help with _wrap_applied_output here?  As commented, the added case is pretty much a kludge and I think we can do better.  Am I remembering correctly that you refactored a bunch of the wrapping code ~18 months ago?