cmFindPackage: fix over-reporting

Both track when a `_DIR` variable is already defined and suppress
implicit event reporting when a mode that has no reliable method for
such detection.
15 files changed