Support resetting index with tuple name
 - [x] closes #16164
 - [x] tests added / passed
 - [x] passes ``git diff master --name-only -- '*.py' | flake8 --diff``
 - [x] whatsnew entry

Notice the first commit is pure refactoring, and the bug is actually fixed by the [one-liner](https://github.com/pandas-dev/pandas/pull/16165/commits/e12bca109658435a709dda0858869323a7af6783#diff-1e79abbbdd150d4771b91ea60a4e1cc7R3036) second commit.