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.
3 jobs for !28 with review/fix-builders-dependencies in 5 minutes and 34 seconds (queued for 32 seconds)
latest merge request