UnicodeWarning when using `DataFrame.xs`
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
import numpy as np
charset = [u'a', u'b', u'c', u'd', u'e']
list_dt = [ {u'a': x, u'b': y, u'c': z, u'd': w, u'e': k, u'value': 1} for x in charset for y in charset for z in charset for w in charset for k in charset]
dt_this = pd.DataFrame(list_dt).set_index(['a','b','c','d','e'])
print('try c')
a=dt_this.xs(u'c', level='a')
print('try b')
a=dt_this.xs(u'b', level='a')
print('try c')
a=dt_this.xs(u'c', level='a')

level = u'a'
drop_level = True
key = u'c'
axis = 0
axis = dt_this._get_axis_number(axis)
labels = dt_this._get_axis(axis)
if level is not None:
    loc, new_ax = labels.get_loc_level(key, level=level,
                                       drop_level=drop_level)

    # convert to a label indexer if needed
    if isinstance(loc, slice):
        lev_num = labels._get_level_number(level)
        if labels.levels[lev_num].inferred_type == 'integer':
            loc = labels[loc]

    # create the tuple of the indexer
    indexer = [slice(None)] * dt_this.ndim
    indexer[axis] = loc
    indexer = tuple(indexer)
print('try c, using indexing')
print(indexer)
result = a.ix[indexer]
indexer2 = (slice(1250, 1875, None), slice(None, None, None))
print(indexer2)
print('try c, using indexing, naive integer')
result = a.ix[indexer2]
```

##### output

You can run this snippet (say, saved as `test_bug.py`), with `python -W always test_bug.py`, then get the following output.

~~~
try c
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2134: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(key)
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2136: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(self._maybe_cast_indexer(key))
try b
try c
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2134: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(key)
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2136: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(self._maybe_cast_indexer(key))
try c, using indexing
(slice(1250, 1875, None), slice(None, None, None))
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2134: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(key)
/home/yimengzh/miniconda2/envs/theano-tf-test/lib/python2.7/site-packages/pandas/indexes/base.py:2136: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return self._engine.get_loc(self._maybe_cast_indexer(key))
(slice(1250, 1875, None), slice(None, None, None))
try c, using indexing, naive integer
~~~

#### Problem description

For some reason, when slicing those rows with column `a` equal to `c`, there are `UnicodeWarning` spit out. For some other rows, say those with `a` equal to `b`, there's no such warning (well, actually I'm not sure whether this is really a warning, as when I use `python -W error` to run the script, no warning appears.

I did some debugging myself on this, and seems that when passing a slice, or a tuple of slices into `DataFrame.ix`, where some elements in the slice are `np.int64`, this can **possibly** happen (some `np.int64` numbers won't trigger the warning). When replacing all `np.int64` attributes (`start`, `stop`, `step`) of the slice with native Python integers, there's no warning. This is based on running the source code of `DataFrame.xs` line by line.

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

<details>
~~~
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Linux
OS-release: 2.6.32-279.14.1.el6.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.19.1
nose: 1.3.7
pip: 8.1.2
setuptools: 26.1.1.post20160901
Cython: None
numpy: 1.11.2
scipy: 0.18.1
statsmodels: None
xarray: None
IPython: 5.1.0
sphinx: None
patsy: None
dateutil: 2.5.3
pytz: 2016.7
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.5.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None
~~~
</details>
