Add tests for ENV.with_build_environment
Add tests for ARGV.filter_for_dependencies
requirements: enable userpaths by default during evaluation
Infer path to be added for requirements that search PATH

When a requirement is specified like:

  satisfy { which "foo" }

There is no reason that we should inject all of ENV.userpaths! into the
build environment. Instead, infer the directory to be added to PATH from
the Pathname that is returned.

This is another step towards condensing the "which program" requirements
down into a one-liner DSL element.
superenv: allow -W[alp], style arguments to pass through

We already (correctly) allow -Wl, style linker arguments to pass
through; extend this to -Wp, (preprocessor) and -Wa, (assembler).

Fixes #17252.