BUG: validate Index data is 1D + deprecate multi-dim indexing
- [x] closes #13601
- [x] closes #27125
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This changes the behavior of `idx[:, None]` to return an ndarray instead of an invalid Index, needed to keep matplotlib tests working.

See also #20285 which this does not entirely close.  That becomes pretty easy to address though once a decision is made on whether to treat `[[0, 1], [2, 3]]` like `[(0, 1), (2, 3)]` (the latter becomes a MultiIndex, the former currently becomes an invalid Index)