GH6322, Bug on reset_index for a MultiIndex of all NaNs
The reset_index function fails for a MultiIndex if at
least one column of the index is all NaN.

 - [x] closes #6322 
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master | flake8 --diff``
 - [x] whatsnew entry

As per the comment in the issue, I tried other solutions such as putting the `take` under an `if len(values)` call, unfortunately that broke other issues downstream.
I started to investigate and it seems like a `MultiIndex` makes a category that ignores `NaN`, so the `values` in the `reset_index` is empty. After trying a few options, the `if mask.all()` seemed like the simplest change.