PERF: MultiIndex slicing
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Similar to #45931, but for MultiIndex slicing.


```
import numpy as np
import pandas as pd

lev0 = pd.date_range("2000-01-01", "2020-12-31", freq="D")
lev1 = np.arange(10000)
mi = pd.MultiIndex.from_product([lev0, lev1])

df = pd.DataFrame({"A": 1.0}, index=mi)

%timeit df.loc["2010-12-31": "2015-12-31"]

132 ms ± 3.43 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)     <- main
571 µs ± 4.25 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)  <- PR
```

I just expanded the asvs for MultiIndex indexing as part of this. There are a lot of code paths for multi indexing and the existing asvs only covered a few of them. A few of the added asvs are currently a bit above the targeted 80ms, but I have a few follow on PRs that will hopefully put them all well below 80ms.   very nice @lukemanley keem em coming!