read_excel provides uninformative error message when reading from sheet with duplicate multiindex columns
#### Code Sample, a copy-pastable example if possible

```python
d=pandas.DataFrame({('A','A'): [0,1,2,3,4,5]})
d[('A2','A2')] = 1
d.columns = [['A','A'],['A','A']]
print(d)
d.to_csv('TEST.csv')
print(pandas.read_csv('TEST.csv',header=[0,1], index_col=0))
d.to_excel('TEST.xlsx')
print(pandas.read_excel('TEST.xlsx',header=[0,1], index_col=0))
```
#### Problem description

The above snippet generates the following output:
```
   A   
   A  A
0  0  1
1  1  1
2  2  1
3  3  1
4  4  1
5  5  1
   (A, A)  ('A', 'A').1
0       0             1
1       1             1
2       2             1
3       3             1
4       4             1
5       5             1
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-110-4745297eb588> in <module>()
      6 print(pandas.read_csv('TEST.csv',header=[0,1], index_col=0))
      7 d.to_excel('TEST.xlsx')
----> 8 print(pandas.read_excel('TEST.xlsx',header=[0,1], index_col=0))

c:\programdata\anaconda3\lib\site-packages\pandas\io\excel.py in read_excel(io, sheetname, header, skiprows, skip_footer, index_col, names, parse_cols, parse_dates, date_parser, na_values, thousands, convert_float, has_index_names, converters, dtype, true_values, false_values, engine, squeeze, **kwds)
    207         skip_footer=skip_footer, converters=converters, dtype=dtype,
    208         true_values=true_values, false_values=false_values, squeeze=squeeze,
--> 209         **kwds)
    210 
    211 

c:\programdata\anaconda3\lib\site-packages\pandas\io\excel.py in _parse_excel(self, sheetname, header, skiprows, names, skip_footer, index_col, has_index_names, parse_cols, parse_dates, date_parser, na_values, thousands, convert_float, true_values, false_values, verbose, dtype, squeeze, **kwds)
    515                 if not squeeze or isinstance(output[asheetname], DataFrame):
    516                     output[asheetname].columns = output[
--> 517                         asheetname].columns.set_names(header_names)
    518             except EmptyDataError:
    519                 # No Data, return an empty DataFrame

c:\programdata\anaconda3\lib\site-packages\pandas\core\indexes\base.py in set_names(self, names, level, inplace)
   1119         else:
   1120             idx = self._shallow_copy()
-> 1121         idx._set_names(names, level=level)
   1122         if not inplace:
   1123             return idx

c:\programdata\anaconda3\lib\site-packages\pandas\core\indexes\base.py in _set_names(self, values, level)
   1059         if len(values) != 1:
   1060             raise ValueError('Length of new names must be 1, got %d' %
-> 1061                              len(values))
   1062         self.name = values[0]
   1063 

ValueError: Length of new names must be 1, got 2
```

Note that read_csv will read the csv (but mangles the column index). read_excel fails without clearly indicating the nature of the error.

#### Expected Output

read_excel should approximately match what read_csv does. If not, it would be a lot easier to diagnose the error if the error message indicated that the problem was a duplicate column and, ideally, which columns is the cause. 

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

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.1.final.0
python-bits: 64
OS: Windows
OS-release: 2012ServerR2
machine: AMD64
processor: Intel64 Family 6 Model 58 Stepping 0, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.20.1
pytest: 3.0.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.12.1
scipy: 0.19.0
xarray: 0.9.6.dev
IPython: 5.3.0
sphinx: 1.5.6
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.2.2
numexpr: 2.6.2
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.7
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.3
bs4: 4.6.0
html5lib: 0.999
sqlalchemy: 1.1.9
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
pandas_gbq: None
pandas_datareader: None
</details>
