Trimming MultiIndex DataFrame does not trim index
#### Code Sample

```python
import pandas
import numpy

dates = pandas.date_range('20180101', periods=10)
rows  = ['foo', 'bar', 'baz']
cols  = ['one', 'two', 'three', 'four']
data  = numpy.random.randn(30,4)
index = pandas.MultiIndex.from_product([dates, rows])
df    = pandas.DataFrame(index=index, columns=cols, data=data, dtype=float)

# trim dataframe
start = datetime.date(2018,1,5)
end   = datetime.date(2018,1,8)
df    = df[start:end]
```
#### Problem description


dataframe is trimmed:
```
>>> df
                     one       two     three      four
2018-01-05 foo  0.905799 -0.456690 -1.367258 -0.332279
           bar -1.112112  0.380678  0.392392  0.990767
           baz  1.880590 -0.557963 -0.447192 -0.439870
2018-01-06 foo -1.002494  0.088601  1.440487 -0.655331
           bar -0.451400 -1.268303  0.694430  2.009442
           baz -2.398640  1.594287  0.720100 -1.320637
2018-01-07 foo  0.921519  0.777893  0.293462 -1.479713
           bar  1.316301  0.893025  1.663773 -1.397427
           baz -0.631625  0.029960 -1.843709 -0.120394
2018-01-08 foo  0.596767  0.870842  2.313631  0.307264
           bar -1.384172  0.863388  1.664788  2.363206
           baz -0.790179  0.643381 -0.524056  0.412584
```

index is not:
```
>>> df.index.levels[0]

DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08',
               '2018-01-09', '2018-01-10'],
              dtype='datetime64[ns]', freq='D')
```

Note that this is different to a single-level indexed DataFrame:

```python
import pandas
import numpy

dates = pandas.date_range('20180101', periods=10)
cols  = ['one', 'two', 'three', 'four']
data  = numpy.random.randn(10,4)
df    = pandas.DataFrame(index=dates, columns=cols, data=data, dtype=float)
```

```
>>> df.index
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08',
               '2018-01-09', '2018-01-10'],
              dtype='datetime64[ns]', freq='D')

>>> df = df[start:end]
>>> df.index

DatetimeIndex(['2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'], dtype='datetime64[ns]', freq='D')
```

#### Expected Output

Trimming the dataframe trims the index

```
>>> df.index.levels[0]
DatetimeIndex(['2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'], dtype='datetime64[ns]', freq='D')
```

Please note this transpired because I cannot figure out how to get the bounds of the first level of the index (ie: start and end date) other than through `df.index.levels[0]` - how can I do that?

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

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

pandas: 0.22.0
pytest: None
pip: 10.0.1
setuptools: 39.2.0
Cython: None
numpy: 1.14.4
scipy: None
pyarrow: None
xarray: None
IPython: 6.4.0
sphinx: None
patsy: None
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.2.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
</details>
