BUG: DataFrame.pivot drops column level names when both rows and columns are multiindexed
- [x] closes #36360
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Fixed by checking for multi-indexed columns in `DataFrameGroupBy._wrap_aggregated_output`
@jreback not sure you'll accept 390e9a9 (but atm it's needed to pass CI)

in dfc609f we're passing `Index.names` as the `name` kwarg 

This means that for a simple index we end up with `name=[['index_name']]` in the `Index` constructor so I check for that and set `name=['index_name']` @jreback this one is ready for re-review. I now handle simple index and multiindex together with `_set_names(aggregation_axis.names)` thanks @arw2019 