Support a copies variant config entry that will result in a
multi-stage build, copying both shared library files and application
directory from a previously defined variant. This is essentially a
shorthand for two artifacts entries that are likely to be idiomatic to
multi-stage build/prod configurations.
Defined a new abstract build.CopyFrom instruction and corresponding
docker.DockerCopyFrom instruction and refactored the writing of these
Dockerfile lines to be accomplished using an InstructionsForPhase
method on config.ArtifactsConfig.
Implemented new support for copies configuration in
config.VariantConfig and an InstructionsForPhase method that returns
build.CopyFrom instructions for both the shared library and
application directories.