Add extra liveness check to queue processor

Currently, areAllJobsComplete(item) is always False for a non-live
item because jobs are never started.  However, to make the logic
of the queue processor more explicit, and protect against a future
potential improvement where a non-live item has no jobs associated,
check for whether an item is live along with the rest of the criteria
for the step where an item is dequeued when complete.

Change-Id: I1685de0705bc0cffddc528e80bf4beeb20ad3803
diff --git a/zuul/scheduler.py b/zuul/scheduler.py
index ffb8e3f..42a42a3 100644
--- a/zuul/scheduler.py
+++ b/zuul/scheduler.py
@@ -1354,7 +1354,8 @@
             failing_reasons.append("is a non-live item with no items behind")
             self.dequeueItem(item)
             changed = True
-        if (not item_ahead) and self.pipeline.areAllJobsComplete(item):
+        if ((not item_ahead) and self.pipeline.areAllJobsComplete(item)
+            and item.live):
             try:
                 self.reportItem(item)
             except MergeFailure: