Dequeue non-live items with errors

If a change depended on a change with a config error, the series
would be stuck in the check pipeline indefinitely because the
manager would wait for the live item to run jobs, however, it is
unable to run jobs with an invalid configuration.  To correct this,
dequeue non-live items with configuration errors.  This will cause
the live items behind them to be dequeued as well since their
dependency is no longer in the queue.

Also, detect and report configuration errors on pipelines.  This
wasn't originally implemented because pipeline reconfiguration is
not supported in dynamic reconfiguration, however, we perform a
dry-run reconfiguration that includes config repos before loading
the real dynamic config (without config repos).  This now includes
pipelines in the dry run.  That should be safe because the results
are immediately discarded, and we don't run the postConfig method
on the pipeline managers (which has driver interactions).

Change-Id: I4448f8e6e5664b62a6f135663d3716f640d8e716
4 files changed