Indexing dataframe with [col1, col2] where col2 is tuple
I came upon this behavior which seems illogical. With a DataFrame containing columns consisting of both scalar values it is not possible to select a column subset with a list like [col1, col2], where col2 is a tuple. Could this be expected behavior?
Making a pd.Index of the list beforehand works alright.
Using pandas version 0.14.0

``` python
In [69]: n = pd.DataFrame(np.random.randn(3,3), columns=['a','b', ('foo','bar')])

In [70]: n
Out[70]: 
          a         b  (foo, bar)
0 -0.050386  0.396910    0.002802
1  0.592425  0.157286    0.410414
2  1.276802 -0.096235    0.663521

In [75]: n[[('foo', 'bar'), 'a']]
Out[75]: 
   (foo, bar)         a
0    0.002802 -0.050386
1    0.410414  0.592425
2    0.663521  1.276802

In [76]: n[pd.Index(['a', ('foo', 'bar')])]
Out[76]: 
          a  (foo, bar)
0 -0.050386    0.002802
1  0.592425    0.410414
2  1.276802    0.663521

In [74]: n[['a',('foo','bar')]]
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-74-e8afa5af6389> in <module>()
----> 1 n[['a',('foo','bar')]]

/usr/local/lib/python2.7/dist-packages/pandas/core/frame.pyc in __getitem__(self, key)
   1676         if isinstance(key, (Series, np.ndarray, list)):
   1677             # either boolean or fancy integer index
-> 1678             return self._getitem_array(key)
   1679         elif isinstance(key, DataFrame):
   1680             return self._getitem_frame(key)

/usr/local/lib/python2.7/dist-packages/pandas/core/frame.pyc in _getitem_array(self, key)
   1703     def _getitem_array(self, key):
   1704         # also raises Exception if object array with NA values
-> 1705         if com._is_bool_indexer(key):
   1706             # warning here just in case -- previously __setitem__ was
   1707             # reindexing but __getitem__ was not; it seems more reasonable to

/usr/local/lib/python2.7/dist-packages/pandas/core/common.pyc in _is_bool_indexer(key)
   1819     elif isinstance(key, list):
   1820         try:
-> 1821             arr = np.asarray(key)
   1822             return arr.dtype == np.bool_ and len(arr) == len(key)
   1823         except TypeError:  # pragma: no cover

/usr/local/lib/python2.7/dist-packages/numpy/core/numeric.pyc in asarray(a, dtype, order)
    458 
    459     """
--> 460     return array(a, dtype, copy=False, order=order)
    461 
    462 def asanyarray(a, dtype=None, order=None):

ValueError: cannot set an array element with a sequence

```
