ENH: Support merging DataFrames on a combination of columns and index levels
- [x] `.groupby` #5677
- [ ] `.sort_values` #14353, though this is directly in combat with `.sort_index` and non-explict
- [x] `.merge` (this issue)
#### Overview

@jorisvandenbossche 
As a part of the [Pandas 1.0](https://docs.google.com/document/d/151ct8jcZWwh7XStptjbLsda6h2b3C0IuiH_hfZnUA58/edit#) goal to "Make the index/column distinction less painful (#5677, #8162)" I propose that the `df.merge` method support merging DataFrames on a combination of columns and index levels.

This could be accomplished in the API by allowing the `on`, `left_on`, and `right_on` keywords to accept a combination of column names and index level names.  Any index levels that are joined on would be preserved as index levels in the resulting merged DataFrame, while all other index levels would be removed.

This proposal is in the spirit of #5677 for `df.groupby`  and #14353 for `df.sort_values`.
