Ensure that changes to the __WARN__ handler in included modules to not leak

60068e5 introduced the Test::NoWarnings module, to ensure that tests are
warnings-clean.  However, that module contains logic which runs as soon
as it is require'd which overrides the __WARN__ handler.  Since the
dependency tester attempts to load every module, this caused all
warnings after Test::NoWarnings was loaded to disappear.

Wrap the 'use ModuleName' in a block which local's the warnings handler,
to prevent such changes from leaking.
Warnings cleanup in rt-test-dependencies

The logic added in 6a32fc5 to not display the full @INC path produces
warnings if the error is already undef due to the module existing, but
being too early a version.  This warning was often hidden due to calling
with --with-developer, which loaded Test::NoWarnings and thus silenced
the warning (see ff15f21).

Protect the regex with an defined-ness check.
Merge branch '4.2/test-dependencies-warning' into 4.2.0-releng