0.11.0.dev-2a6ee46: MultiIndex column slicing doesn't work with tuples
```
import numpy as np
from pandas import MultiIndex, DataFrame

factors = [('a', 'b'), 'c']
names = ['n1', 'n2']
n_factors = len(factors)
n_names = len(names)
columns = MultiIndex(levels=[factors, names],
    labels=[[i for i in xrange(n_factors) for _ in xrange(n_names)], range(n_names) * n_factors])
x = DataFrame(np.random.randn(3, n_factors * n_names), columns=columns)
```

Slicing by tuple doesn't work:

```
x[factors[0]]
```

> Traceback (most recent call last):
>   File "C:\Python27\lib\site-packages\IPython\core\interactiveshell.py", line 2721, in run_code
>     exec code_obj in self.user_global_ns, self.user_ns
>   File "<ipython-input-4-fdab96104a77>", line 1, in <module>
>     x[factors[0]]
>   File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1955, in **getitem**
>     return self._getitem_multilevel(key)
>   File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1994, in _getitem_multilevel
>     loc = self.columns.get_loc(key)
>   File "C:\Python27\lib\site-packages\pandas\core\index.py", line 2200, in get_loc
>     return self._engine.get_loc(key)
>   File "index.pyx", line 130, in pandas.index.IndexEngine.get_loc (pandas\index.c:3236)
>   File "index.pyx", line 150, in pandas.index.IndexEngine.get_loc (pandas\index.c:3116)
>   File "hashtable.pyx", line 670, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:10498)
>   File "hashtable.pyx", line 676, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:10452)
> KeyError: ('a', 'b')

Slicing by string works just fine:

```
x[factors[-1]]
```

>   n1        n2
> 0  1.601271  0.786259
> 1 -0.232438  1.026608
> 2 -0.569793  0.170947

Specifying the index value works, even with a tuple:

```
x[factors[0], names[0]]
```

> 0    1.089592
> 1    1.621236
> 2   -1.030415
> Name: ((a, b), n1), dtype: float64

The culprit seems to be the tuple, because the following will lead to the same problem:

```
factors = [('a', 'b')]
names = ['n1', 'n2']
n_factors = len(factors)
n_names = len(names)
columns = MultiIndex(levels=[factors, names],
    labels=[[i for i in xrange(n_factors) for _ in xrange(n_names)], range(n_names) * n_factors])
x = DataFrame(np.random.randn(3, n_factors * n_names), columns=columns)
```

This will lead to the same error message as above:

```
x[factors[0]]
```

This is surprising. Tuples are hashable. Why does pandas treat a tuple of strings different from a string?
