TST: GH30999 Add match=msg to all pytest.raises in tests/indexes
This pull request partially addresses xref #30999 to remove bare pytest.raises by adding match=msg. It doesn't close that issue as I have only addressed modules in pandas/tests/indexes

I made a few of the raised errors more specific types. There are two other changes that are a bit more complex but I will put specific comments on the code lines to explain those.

- [ ] closes #xxxx
- [ ] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

I am confused by the failing tests: 
FAILED pandas/tests/arrays/categorical/test_warnings.py::TestCategoricalWarnings::test_tab_complete_warning
FAILED pandas/tests/frame/test_api.py::TestDataFrameMisc::test_tab_complete_warning[DataFrame]
FAILED pandas/tests/frame/test_api.py::TestDataFrameMisc::test_tab_complete_warning[Series]
FAILED pandas/tests/indexes/test_base.py::TestIndex::test_tab_complete_warning
FAILED pandas/tests/resample/test_resampler_grouper.py::test_tab_complete_ipython6_warning

None of which I touched? Any idea what is going on here? Ah, it's not just this PR. Several recent PRs have those same failures. Jedi update causing problems with the CI raised in #38703  cc @jbrockmendel if any comments, go ahead and merge if good Hi @moink - can you fetch and merge upstream/master please and resolve the conflict? > Hi @moink - can you fetch and merge upstream/master please and resolve the conflict?

@MarcoGorelli ok done and green except travis I am not sure why I closed this before - must have been accidental. thanks @moink 