Allow zuul to cleanup jobs outside window

Zuul's new rate limiting feature would ignore jobs started that are
later moved outside the window (due to the window shrinking). Zuul
properly dealt with this jobs and changes when they slid back into the
window but it did so inefficiently. Go back to processing the entire
queue but check if each individual item is actionable before preparing
refs on it or starting jobs.

Change-Id: Ib76a68f9023652205003e0d164a78b8f67956adf
3 files changed