Inconsistencies between python/cython groupby.agg behavior
This is pretty ugly, but tentatively is sufficient to make #34997 pass.

The upshot is that we have two problems:

1) in libreduction setting `setattr(cached_ityp, '_index_data',  islider.buf)` silently does the wrong thing for EA-backed indexes
2) when we go through the non-libreduction path, we do things slightly differently, which requires more patches to get tests passing.

cc @WillAyd
