filter out dirty jobs in beakerd loops

A recipe may be aborted at various stages of processing in beakerd (for
example, no matching systems in process_new_recipe, or an exception in
schedule_queued_recipe). In that case the recipe status won't actually
change until update_dirty_jobs does its thing. So the other beakerd
loops need to exclude dirty jobs otherwise they may end up trying to
abort the same recipe over and over.

Change-Id: Ifd4bcbf9738c201c75751d77421fb8a67bb33a0d
Merge "filter out dirty jobs in beakerd loops" into release-0.12