Dequeue changes if they have no hope of merging.

In the DependentPipeline remove changes if they have absolutely no
chance of merging (all possible merge combinations fail). This allows
zuul to remove changes as soon as possible when it is known that they
cannot merge and continue testing the remaining changes.

Fixes bug 1123329

Change-Id: I97af03cca997541f6a8b3fb519d2a44825dbd937
Reviewed-on: https://review.openstack.org/21723
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
3 files changed