DOC: Validator + converting array_like to array-like in docstrings
- [ ] closes #40560 (Pending feedback on decorator-generated docstrings)
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

First try at any open source stuff! This one looked pretty doable, hopefully it's there's nothing wrong with it/let me know!
I'm not sure whether *I* should be checking these boxes, or a reviewer should. I *believe* this fixes the issue since it adds the validator, though it's not a particularly clever validator.

It technically is an added test, and it technically works - I re-added one of the entries and got a successful (correct) result for its failure... (amongst the infinite other validation failures 😢 )
I assume linting will run after the PR is submitted, but I'll look into running it locally, too.

```
...
None:None:ES01:pandas.IndexSlice:No extended summary foundNone:None:EX03:pandas.IndexSlice:flake8 error: E231 missing whitespace after ',' (4 times)
.../pandas/pandas/core/indexes/multi.py:434:ES01:pandas.MultiIndex.from_arrays:No extended summary found
.../pandas/pandas/core/indexes/multi.py:434:GL05:pandas.MultiIndex.from_arrays:Use 'array-like' rather than 'array_like' in docstrings.  <<<--- Message for added issue.
.../pandas/pandas/core/indexes/multi.py:500:ES01:pandas.MultiIndex.from_tuples:No extended summary found
.../pandas/pandas/core/indexes/multi.py:567:ES01:pandas.MultiIndex.from_product:No extended summary found
None:None:ES01:pandas.MultiIndex.names:No extended summary found
...
```

More on the validator:
* I chose `GL` as the code after looking through [the numpy docstring validation guide](https://numpydoc.readthedocs.io/en/latest/validation.html) and the [pandas docstring validation guide](https://pandas.pydata.org/docs/dev/development/contributing_docstring.html) - I think it stands for "General" and that seems like the best categorization for this message.
* I used `raw_doc` for this but there was another property like `clean_doc` as well. I could just iterate through each section, too. 🤷 
* I didn't add any extra detail/context to the error message. The line and file are already given, so I think there's nothing extra that's needed.

Using the validator to pick up any missed docstring changes:
```
$ time ./validate_docstrings.py 2>&1 | tee validate_docstrings.log  ### (It takes ~5m to run)
$ grep GL05 validate_docstrings.log
.../pandas/pandas/core/frame.py:10220:GL05:pandas.DataFrame.resample:Use 'array-like' rather than 'array_like' in docstrings.
.../pandas/pandas/core/series.py:5171:GL05:pandas.Series.resample:Use 'array-like' rather than 'array_like' in docstrings.
```

-----

Actually, looking into those two remaining results - those are docstrings generated by lines like:
```10220     @doc(NDFrame.resample, **_shared_doc_kwargs)```

Looking in more detail, I'm not exactly sure how this happens, but it seems like this decorator must be generating text with "array_like" in it. I kind of want to declare it out of scope for this PR, but I can dig into it more if needed.

I suspect maybe the `Substitution` decorator tool can help, possibly. It seems kind of cheesy to add something that will substitute array_like for array-like in a docstring - eg, it might be the result of a function whose param is actually called `array_like`, which, I'm pretty sure they *do* exist. I'm open to feedback on that.
