Selecting same column twice in DataFrame does not work when some columns are bool
It works fine to select a column twice if the DataFrame does not consists of any columns of dtype bool, but works fine otherwise. 

``` python
import pandas as pd

#Data with just bool columns
dbool = {'one' : pd.Series([True, True, False], index=['a', 'b', 'c']),
    'two' : pd.Series([False, False, True, False], index=['a', 'b', 'c', 'd']),
    'three': pd.Series([False, True, True, True], index=['a', 'b', 'c', 'd'])}

#No bool columns
dnum = {'four' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
    'five' : pd.Series([1., 2., 3., 0.4], index=['a', 'b', 'c', 'd']),
    'six': pd.Series([9., 5., 4., -0.1], index=['a', 'b', 'c', 'd'])}

#data with both bool and non-bool columns
dmixed = {'one' : pd.Series([True, True, False], index=['a', 'b', 'c']),
    'two' : pd.Series([False, False, True, False], index=['a', 'b', 'c', 'd']),
    'three': pd.Series([False, True, True, True], index=['a', 'b', 'c', 'd']),
    'four' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
    'five' : pd.Series([1., 2., 3., 0.4], index=['a', 'b', 'c', 'd']),
    'six': pd.Series([9., 5., 4., -0.1], index=['a', 'b', 'c', 'd'])}

dfbool = pd.DataFrame(dbool)
dfnum = pd.DataFrame(dnum)  
dfmixed = pd.DataFrame(dmixed)

#Works fine
dfnum[['four', 'five', 'four']]

#Does not work
dfbool[['one', 'three', 'one']]

#Does not work
dfmixed[['four', 'five', 'four']]
dfmixed[['one', 'three', 'one']]
dfmixed[['one', 'four', 'one']]
```
