TST: organize and cleanup pandas/tests/groupby/test_aggregate.py
closes #18490

Module currently has tests in 2 classes (`TestGroupByAggregate` and `TestGroupByAggregateCython`). The remaining tests are not in a class.

Also made the following changes:

### TestGroupByAggregate class
#### test_agg_must_agg
* replaced `pytest.raises` with `tm.assert_raises_regex`

#### test_agg_apply_corner
* made it more readable

#### test_agg_multiple_functions_too_many_lambdas
* replaced `pytest.raises` with `tm.assert_raises_regex`

#### test_multi_function_flexible_mix
* made it more readable

### TestGroupByAggregateCython class

_all test methods that contain cython in the test name_

#### test_cython_agg_nothing_to_agg
* replaced `pytest.raises` with `tm.assert_raises_regex`

#### test_cython_agg_return_dict
* replaced `self.df` with df initialized inside function

### All Others

#### test_agg_dict_renaming_deprecation
* made it more readable

#### test_agg_nested_dicts
* replaced `pytest.raises` with `tm.assert_raises_regex`
* made it more readable

#### test_agg_item_by_item_raise_typeerror
* replaced `pytest.raises` with `tm.assert_raises_regex`

#### test_agg_structs_series
* made it more readable
