Forbid creating relations with incomplete artifacts
We noticed in #891 (closed) and !1944 (merged) that it's possible to have artifact relations that involve incomplete artifacts (a current example is https://debusine.debian.net/debian/developers/artifact/2027166/, although this may have been deleted by the time somebody works on this). It's not clear to me how this happened; but we should probably forbid creating relations with incomplete artifacts, in order to force errors to be visible closer to the code that's actually at fault.
Once we've done this, we should also refactor debusine.server.management.commands.vacuum_storage.Command._delete_incomplete_old_artifacts
to also allow deleting incomplete artifacts that are the target of a relation. It would make sense to first look through all such artifacts on production to make sure that we aren't missing any other reasons why deleting those would be a problem.