ENH: read_excel MultiIndex #4679
closes #4679
xref #10564

Output of `to_excel` should now be fully round-trippable with `read_excel` with the
right combination of `index_col` and `header`.

To make the semantics match `read_csv`, an index column name (`has_index_names=True`) is
always assumed if something is passed to `index_col` - this should be non-breaking;
if there are no names, it will be just filled to `None` as before.

```
In [7]: df = pd.DataFrame([[1,2,3,4], [5,6,7,8]],
...:                   columns = pd.MultiIndex.from_product([['foo','bar'],['a','b']],
...:                                                        names = ['col1', 'col2']),
...:                   index = pd.MultiIndex.from_product([['j'], ['l', 'k']],
...:                                                      names = ['i1', 'i2']))

In [8]: df
Out[8]: 
col1    foo    bar   
col2    a  b   a  b
i1 i2              
j  l    1  2   3  4
   k    5  6   7  8

In [9]: df.to_excel('test.xlsx')

In [10]: df = pd.read_excel('test.xlsx', header=[0,1], index_col=[0,1])

In [11]: df
Out[11]: 
col1    foo    bar   
col2    a  b   a  b
i1 i2              
j  l    1  2   3  4
   k    5  6   7  8
```
