Ability to Override Default Titles for Missing Column Headers in read_csv
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd

index = pd.MultiIndex.from_tuples([('col1', ''), ('col2', 'a1'), ('col2', 'a2')])

df = pd.DataFrame(np.random.random(size=(10, 3)), columns=index)

df.to_csv('test.cvs')

df2 = pd.read_csv('test.cvs', header=[0, 1], index_col=0)
print(df.columns)
print(df2.columns)
```
#### Problem description
`pd.read_csv` renames empty cells to "Unnamed: {i}_level_{level}" on line 
https://github.com/pandas-dev/pandas/blob/4d44a2aff08c3075d9472e361bd7448a0472494e/pandas/io/parsers.py#L2542
It would be great to have an option of changing this behaviour to replacing with `''` or even a generic solution.

#### Expected Output
```
MultiIndex(levels=[['col1', 'col2'], ['', 'a1', 'a2']],
           codes=[[0, 1, 1], [0, 1, 2]])
MultiIndex(levels=[['col1', 'col2'], ['', 'a1', 'a2']],
           codes=[[0, 1, 1], [0, 1, 2]])
```
#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.7.0.final.0
python-bits: 64
OS: Darwin
OS-release: 18.2.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.24.1
pytest: 4.2.0
pip: 18.0
setuptools: 40.4.1
Cython: 0.28.5
numpy: 1.15.2
scipy: 1.2.0
pyarrow: None
xarray: None
IPython: 7.0.1
sphinx: 1.8.1
patsy: None
dateutil: 2.7.3
pytz: 2018.5
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 3.0.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml.etree: 4.2.5
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
gcsfs: None

</details>
