QueueBranchBuilds skips a job when the repository already holds a success build of that commit for it, whatever ref it ran on. Failed or abandoned builds still re-queue. Merge commits and squash or rebase results are new commits and build as before; the existing merge-queues-builds test still passes.
e2e: a fast-forward of a green commit queues nothing and leaves its statuses alone; a fast-forward of a commit whose build failed queues one.
Closes #90