Bug Description

CopyChecker._checkArchiveConflicts rejects a copy if the candidate's build summary is BUILDING, NEEDSBUILD, or FULLYBUILT_PENDING. This lets FULLYBUILT and FAILEDTOBUILD through, which at first glance makes sense.

But looking at BuildSet.getStatusSummaryForBuilds we see that FAILEDTOBUILD takes precedence over FULLYBUILT(_PENDING). This means that if all builds have finished, but one or more have failed, a source-only copy will be erroneously permitted even if the successful builds have not yet been published. This probably leads to duplicate builds and missing binaries and other mess.