artifacts: Add copy dependencies for all artifacts that reference variants
Any configuration that references build artifacts from another variant
should create a cross-variant dependency. Prior to this change, only
copies and builder.requirements did so; node.requirements,
python.requirements, php.requirements, and builders.*.requirements
did not.
Defined a config.VariantDependent interface that builder types can
implement to return their cross-variant dependencies.