CLN: aggregation.transform
- [x] closes #36330
- [ ] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Followup to #35964 

- Moved whatsnew to reshaping
- Use is_list_like/is_dict_like in aggregate.transform
- Broke out dict-like and str/callable computations to own functions to split up the transform function
- Added/refined typing