ENH: new .agg for list-likes
Part of #43678

- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them

Replaces the list-like implementation for `.agg` used by Series, DataFrame, SeriesGroupBy, DataFrameGroupBy, Window, and Resample. This will transpose agg results, and swap multiindex levels as well as the order from within the levels. Adds the new implementation behind the option "new_udf_methods".

Docs: [future_udf_behavior.zip](https://github.com/pandas-dev/pandas/files/7368201/future_udf_behavior.zip)

just a comment - I have always tried to avoid names like "new_routine" because at some point, it won't be, and you wished you never called it that in the first place! :) @attack68 - The plan is to put all usage of these methods behind the option "new_udf_methods"; when the old are deprecated and then removed, they will be renamed by dropping all the "new_" prefixes. If you have any suggestions for different names, please do make them! no, no suggestions. But, and I kid you not, in my line of work I have seen `swap_pricer()`, `new_swap_pricer()`, `new_swap_pricer2()` and `new_new_swap_pricer()` - imagine explaining that to new recruits! Agreed, with @attack68. Helpful to have a slightly clearer naming even during the transition period. Maybe `shared_list_like` if the plan is for `method` to be agg, transform, etc?  @mroeschke and @attack68 - is there opposition to the "new_udf_methods" option as well, or is it just on the method names themselves? I am not a particular fan of "new" myself, but I could not think of anything concise and better. Regardless of the name that is picked, I would like the relationship between the option name and the methods that are behind that option name to be clear.

Edit: could go with "experimental" and prefix the methods with that?

Edit: "experimental" is a bad choice because there will be a period where the default for this option is True and thus it is no longer experimental. > I would like the relationship between the option name and the methods that are behind that option name to be clear

+1 I would hope these are consistent.

Maybe `future_udf_behavior` if the idea is that this will be the default some day? Thanks @mroeschke - I like "future". I've added docs (built attachment in OP) summarizing the changes here. This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this.