Suppress warnings about the use of given/when

Perl 5.18 decided to make my favorite new feature (the "switch", or
given/when) experimental, and warn you about it by default.  There was
a threat that it might change in perl5.20, and we're about to find
out.
fixup! Suppress warnings about the use of given/when
fixup! Suppress warnings about the use of given/when
Restore checking of the dependency type

This fix is a hack.  We were dependent on the type checking of the
DependencyTree object for checking the allowed values of a dependency
(runtime, build or test).  We need a simpler, generic way to check
this without creating a DependencyTre object we're not really going to
use, but for now, I've just moved the object creation out of the if
condition test for type being runtime.   Blegh.