MultiIndex.levels become duplicated and fail indexing when using fastparquet
#### Code Sample, a copy-pastable example if possible

```python

df = pd.DataFrame(list(range(9)), pd.MultiIndex.from_product([['a', 'b', 'c'], [1, 2, 3]]), ['col'])
df.index
# MultiIndex(levels=[['a', 'b', 'c'], [1, 2, 3]],
#            labels=[[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]])
df.to_parquet('test.parquet', engine='fastparquet')
df1 = pd.read_parquet('test.parquet')
df1.index
# MultiIndex(levels=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c'], [1, 2, 3, 1, 2, 3, 1, 2, 3]],
#            labels=[[0, 1, 2, 3, 4, 5, 6, 7, 8], [0, 1, 2, 3, 4, 5, 6, 7, 8]],
#            names=['level_0', 'level_1'])
# 
df.loc['a', 1]
# col    0
# Name: (a, 1), dtype: int64
df1.loc['a', 1]
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 1472, in __getitem__
#     return self._getitem_tuple(key)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 870, in _getitem_tuple
#     return self._getitem_lowerdim(tup)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 1027, in _getitem_lowerdim
#     return getattr(section, self.name)[new_key]
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 1472, in __getitem__
#     return self._getitem_tuple(key)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 870, in _getitem_tuple
#     return self._getitem_lowerdim(tup)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 998, in _getitem_lowerdim
#     section = self._getitem_axis(key, axis=i)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 1911, in _getitem_axis
#     self._validate_key(key, axis)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 1788, in _validate_key
#     key = self._convert_scalar_indexer(key, axis)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py", line 261, in _convert_scalar_indexer
#     return ax._convert_scalar_indexer(key, kind=self.name)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 1679, in _convert_scalar_indexer
#     return self._invalid_indexer('label', key)
#   File "/usr/local/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 1863, in _invalid_indexer
#     kind=type(key)))
# TypeError: cannot do label indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [1] of <class 'int'>

```
#### Problem description
1. When importing `DataFrame` by `read_parquet()`, `MultiIndex.levels` becomes large and duplicated.
2. The imported `DataFrame` fails indexing.

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

<details>

[paste the output of ``pd.show_versions()`` here below this line]
INSTALLED VERSIONS
------------------
commit: None
python: 3.7.0.final.0
python-bits: 64
OS: Darwin
OS-release: 17.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: zh_CN.UTF-8
LOCALE: zh_CN.UTF-8

pandas: 0.23.3
pytest: None
pip: 10.0.1
setuptools: 39.2.0
Cython: 0.28.4
numpy: 1.14.5
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.3
pytz: 2018.5
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.6.0
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: 0.1.5
pandas_gbq: None
pandas_datareader: None
>>>

</details>
