Multiple functions in GroupBy.apply/transform
1. Returns DataFrame for SeriesGroupBy.transform
2. Returns DataFrame with MultiIndexed columns for DataFrameGroupBy.transform
3. `chain` parameter to control whether transforms are applied in sequence or not
