POC: New UDF methods option
Start of #41112

- [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
- [ ] whatsnew entry

The goal is to provide an implementation for apply on lists. See https://github.com/pandas-dev/pandas/issues/41112#issuecomment-902366002 for why this necessitates a change to agg behavior for lists. It is possible to break this up into several PRs, but wanted to give a view as to what it would appear in totality.

Attached is a notebook demonstrating the differences in behavior (github doesn't allow attaching the notebook directly).

[udfs.pdf](https://github.com/pandas-dev/pandas/files/7199652/udfs.pdf)

