BUG: DataFrame.loc with a MultiIndex does not always collapse scalar levels
All of the following should be equivalent:

```
In [21]: df = pd.DataFrame({'a': [1], 'b': [2], 'c': [3]}).set_index(['a', 'b'])

In [22]: df.loc[1]
Out[22]:
   c
b
2  3

In [23]: df.loc[(1,), slice(None)]
Out[23]:
   c
b
2  3

In [24]: df.loc[(1, slice(None)), slice(None)]
Out[24]:
     c
a b
1 2  3
```

In the last output, there should no longer be a level `a`.
