memory usage after writing then reading a multi-indexed dataframe from an hdf5 increases dramatically
#### Code Sample, a copy-pastable example if possible

```python
#!/usr/bin/env python

import numpy as np
import pandas as pd

index = pd.MultiIndex.from_product([list(range(10000)), list(range(10))])
df = pd.DataFrame(np.random.rand(100000, 10), index=index, columns=list(range(10)))
df = (df * 3840).astype(np.int16)
df.info()

sdf = df.sample(1000)
sdf.info()

with pd.HDFStore('test.h5') as h5:
    h5['sdf'] = sdf

sdf = pd.read_hdf('test.h5', 'sdf')
sdf.info()
```

#### Problem description

The memory used by a multi-indexed dataframe increases dramatically after writing to and reading it back from an hdf5 data file.

#### Expected Output

```
class 'pandas.core.frame.DataFrame'>
MultiIndex: 100000 entries, (0, 0) to (9999, 9)
Data columns (total 10 columns):
0    100000 non-null int16
1    100000 non-null int16
2    100000 non-null int16
3    100000 non-null int16
4    100000 non-null int16
5    100000 non-null int16
6    100000 non-null int16
7    100000 non-null int16
8    100000 non-null int16
9    100000 non-null int16
dtypes: int16(10)
memory usage: 2.6 MB

<class 'pandas.core.frame.DataFrame'>
MultiIndex: 1000 entries, (6381, 5) to (7551, 4)
Data columns (total 10 columns):
0    1000 non-null int16
1    1000 non-null int16
2    1000 non-null int16
3    1000 non-null int16
4    1000 non-null int16
5    1000 non-null int16
6    1000 non-null int16
7    1000 non-null int16
8    1000 non-null int16
9    1000 non-null int16
dtypes: int16(10)
memory usage: 100.7 KB

<class 'pandas.core.frame.DataFrame'>
MultiIndex: 1000 entries, (6381, 5) to (7551, 4)
Data columns (total 10 columns):
0    1000 non-null int16
1    1000 non-null int16
2    1000 non-null int16
3    1000 non-null int16
4    1000 non-null int16
5    1000 non-null int16
6    1000 non-null int16
7    1000 non-null int16
8    1000 non-null int16
9    1000 non-null int16
dtypes: int16(10)
memory usage: 421.0 KB
```

- Note that the sparse version before writing to an hdf5 file uses 100kB, but it uses 421kB after I reread it from the hdf5 file.  This is over 4X the original memory usage.

- As a note, the original array uses 2.6 MB to store 100000 * 10 * 2 = 2MB of array data (30% overhead), the sparse version before writing uses 100.7kB to store 1000*10*2 = 20kB of array data (400% overhead), and the final version, after rereading from the hd5 file uses 421kB to store 20kB of data (
2000% overhead).

- A simpler, non-multiindex case gave the same result before and after writing the data to an hdf5 file, with about 30% overhead.

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

<details>
INSTALLED VERSIONS                
------------------                
commit: None                      
python: 3.6.3.final.0             
python-bits: 64                   
OS: Linux                         
OS-release: 4.13.0-41-generic     
machine: x86_64                   
processor: x86_64                 
byteorder: little                 
LC_ALL: None                      
LANG: en_US.UTF-8                 
LOCALE: en_US.UTF-8               

pandas: 0.23.4                    
pytest: None                      
pip: 10.0.1                       
setuptools: 32.3.1                
Cython: None                      
numpy: 1.14.5                     
scipy: 1.1.0                      
pyarrow: None                     
xarray: None                      
IPython: 6.4.0                    
sphinx: None                      
patsy: None                       
dateutil: 2.7.3                   
pytz: 2018.5                      
blosc: None                       
bottleneck: None                  
tables: 3.4.4                     
numexpr: 2.6.8                    
feather: None                     
matplotlib: 2.2.2                 
openpyxl: None                    
xlrd: None                        
xlwt: None                        
xlsxwriter: None                  
lxml: None                        
bs4: None                         
html5lib: 1.0.1                   
sqlalchemy: None                  
pymysql: None                     
psycopg2: None                    
jinja2: 2.10                      
s3fs: None                        
fastparquet: None                 
pandas_gbq: None                  
pandas_datareader: None           
</details>
