UInt64Index not implemented by pytables
#### Code Sample, a copy-pastable example if possible

```python
df = pd.DataFrame(np.random.randint(0, high=2**16 -1, size=(20,5), dtype=np.uint16),
                  columns=['a', 'b', 'c', 'd', 'e'])
df = df.set_index(['a', 'b'])
store = pd.HDFStore('test.h5')
store.append('test', df, append=True)
>>>NotImplementedError: indexing 64-bit unsigned integer columns is not supported yet, sorry

```
#### Problem description

When using a MultiIndex, pandas is coercing the uint16 columns to uint64. Then when I try to write that to an H5 file (in table format), the NotImplementedError  is raised by pytables.

#### Expected Output

Expect H5 file to be created, with pandas coercing types as required (in this case uint16 to int64 is safe). If using a UInt64Index (without a MultiIndex), pandas does coerce correctly:

```python
df = pd.DataFrame(np.random.randint(0, high=2**16 -1, size=(20,5), dtype=np.uint16),
                  columns=['a', 'b', 'c', 'd', 'e'])
df = df.set_index(['a'])
df.index.dtype
>>>dtype('uint64')
store = pd.HDFStore('test.h5')
store.append('test2', df, append=True)
store.test2.index.dtype
>>>dtype('int64')

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

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.5.2.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 69 Stepping 1, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.20.3
pytest: 3.0.5
pip: 8.1.2
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.12.1
scipy: 0.19.0
xarray: 0.9.6
IPython: 5.1.0
sphinx: 1.4.8
patsy: None
dateutil: 2.5.3
pytz: 2016.7
blosc: None
bottleneck: None
tables: 3.4.2
numexpr: 2.6.2
feather: 0.4.0
matplotlib: 2.0.2
openpyxl: None
xlrd: 1.0.0
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
s3fs: None
pandas_gbq: None
pandas_datareader: None
</details>
