Make validate_docstrings.py ready for the CI
- [X] closes #23481
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This will allow us to start having validation rules for the docstings in the CI, for example, we can have:
```
$ ./scripts/validate_docstrings.py --prefix="pandas.read_" --format=azure --errors=EX03
##vso[task.logissue type=error;sourcepath=pandas/util/_decorators.py;linenumber=281;code=EX03;]pandas.read_excel: flake8 error: E231 missing whitespace after ',' (3 times)
##vso[task.logissue type=error;sourcepath=pandas/util/_decorators.py;linenumber=169;code=EX03;]pandas.read_stata: flake8 error: F821 undefined name 'do_something'
```

Which will finish with an exit status different than 0, validate only certain docstrings (the ones starting with `pandas.read_`), and validate only specific errors (in this case only `EX03` which validates pep8 in the docstrings). The output format can be a JSON file, simple messages, or the messages formatted to be highlighted in azure.

@jorisvandenbossche @gfyoung if you can review, and give this a bit of priority... there will be conflicts soon, as there are several issues that add new rules. Thanks!