Fine-grained artifact dependencies

Problem to solve

Currently we have several jobs that don't need all of the artefacts in it's dependency. And downloading artefacts from all the dependencies may take about 2m. Excluding files from artefacts is not an option, because we still want them to be available for download, it is just passing them to next jobs is redundant.

Proposal

Enable specifying array of artifacts in the producer job and specifying list of artifact names per dependency in consumer jobs.

producer:
  artifacts:
  - name: "reports"
    paths:
    - "*.xml"
    when: always
  - name: "data"
    paths:
    - "data/*"
    when: on_success

consumer:
   dependencies:
      producer: ["reports"]