48855 pylint import error
- [X] Partially addresses #48855 (Replace xxxx with the Github issue number)
- [N/A] [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).
- [N/A] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [N/A] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

The huge number of errors that were reported by `pre-commit` that resulted in the disabling of the `import-error` message in the first place I think stem from  the way in which `pre-commit` was configured to run`pylint` which was to use the action from the `pylint` repository. This meant a dedicated virtual environment was used and none of the packages in `requirements-dev.txt` were installed in the isolated virtual environment that is used (see `pre-commit` [#157](https://github.com/pre-commit/pre-commit-hooks/issues/157)). The solution as described in the discussion of that thread (see [comment](https://github.com/pre-commit/pre-commit-hooks/issues/157#issuecomment-265516255)) is to create a local hook and have it use the system environments `pylint` which is why `.pre-commit-config.yaml` has been modified.

In addition I have...

* Explicitly ignored `versioneer.py` from being linted because it is not a component of `pandas` and failed linting.
* Explicitly ignored ǜalidate_min_versions_in_sync.py` as it failed to import key libraries. Its a script used in another `pre-commit` local hook that checks minimum version of dependencies are aligned and not a component `pandas`.
* Added `vulture` as a required package to `requirements-dev.py`/ `environment.yaml` as it was the cause of some `pylint` `import-error`.
* Disabled the `pylint` `import-error` around...
  *  `import zoneinfo` (and updated the code that checks for compatability with Python 3.9) in `pandas/tests/indexes/datetimes/test_constructors.py`.
  * `from py.path import local as LocalPath` in `pandas/tests/io/excel/test_readers.py` / `pandas/tests/io/pytables/test_read.py` / `pandas/tests/io/sas/test_sas7bdat.py`

~~Closing as missing essential `pylint` package.~~

Oops, hadn't realised that adding a commit to my fork would make it through to here.

@MarcoGorelli : Ok not a problem, I don't have sufficient knowledge to comment on that. I'll leave it to others to decide. no worries, thanks anyway for your PR - closing then, but there's lot's of other issues to work on if you'd like