BUG: label-based indexing fails with certain list indexers in case of mixed integers/strings columns names
#### Code Sample, a copy-pastable example if possible

This works, when all columns are integer labels:

```python
df = pd.DataFrame(np.random.rand(3,3), columns=[2011,2012,2013], index=list('ABC'))
df.ix[pd.IndexSlice[['A','B','C'],[2011,2012]]]

Out:
       2011      2012
A  0.289341  0.651091
B  0.528271  0.682148
C  0.742617  0.578734

```

This doesn't, when columns are a mix of integers and strings:

```python
df = pd.DataFrame(np.random.rand(3,3), columns=[2011,2012,'All'], index=list('ABC'))

# This crashes
df.ix[pd.IndexSlice[['A','B','C'],[2011,2012]]]
> IndexError: index 2011 is out of bounds for axis 0 with size 3

#  this works though:
df.ix[pd.IndexSlice[['A','B','C'],[2011,'All']]]
```


#### Problem description

It seems that in the second case it's trying to find it by position rather than label.

#### Expected Output

I would expect pandas to understand that I'm trying to lookup by label rather than position.

#### Output of ``pd.show_versions()``

<details>
INSTALLED VERSIONS
------------------
commit: None

pandas: 0.19.1
nose: None
pip: 9.0.1
setuptools: 28.7.1
Cython: 0.25.1
numpy: 1.11.2
scipy: 0.18.1
statsmodels: 0.6.1
xarray: 0.8.2
IPython: 5.1.0
sphinx: None
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2016.7
blosc: None
bottleneck: 1.2.0
tables: 3.3.0
numexpr: 2.6.1
matplotlib: 1.5.3
openpyxl: None
xlrd: 1.0.0
xlwt: 1.1.2
xlsxwriter: 0.9.3
lxml: None
bs4: 4.5.1
html5lib: 0.999999999
httplib2: None
apiclient: None
sqlalchemy: 1.1.4
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: 0.2.1

</details>
