Minimise overlaps by having overlaps raise exceptions unless configured not to

Buildstream ought to support minimising overlaps and preventing accidental overlaps in some way.

I recall a discussion (but not its source), which leads to the following suggestion of how to change behaviour when encountering overlaps:

  • A field in project.conf dictating whether builds should fail when overlaps are detected. For example, fail-on-overlap.
  • Elements should be able to say that some files are okay to be overlapped. For example, an element's .bst file could have the field allow-overlap, a list of patterns.