BUG: not propogating MultiIndex names when only some are set on slicing
```
In [3]: df = pd.DataFrame(np.arange(4), columns=['value'], index=pd.MultiIndex.from_product([list('AB'), [0, 1]], names=['foo', 'bar']))

In [4]: df2 = pd.DataFrame(np.arange(4), columns=['value'], index=pd.MultiIndex.from_product([list('AB'), [0, 1]], names=['foo', None]))

In [5]: df
Out[5]: 
         value
foo bar       
A   0        0
    1        1
B   0        2
    1        3

In [6]: df.loc['A']
Out[6]: 
     value
bar       
0        0
1        1

In [7]: df.loc[['A']]
Out[7]: 
         value
foo bar       
A   0        0
    1        1

In [8]: df2.loc['A']
Out[8]: 
   value
0      0
1      1

In [9]: df2.loc[['A']]
Out[9]: 
       value
foo         
A   0      0
    1      1

```

So I would expect that [8] would be the same as [6]