CLN: Implement multiindex handling for get_op_result_name
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

@jbrockmendel 

This would solve the inconsistency in ``get_op_result_name`` for MultiIndexes, but adds a bit more complexity here.
I think this would allow us to remove the now duplicated code in ``intersection``