Update singleton job logic to not treat failed jobs as pending instances

If a job completely failed out (will not be retried any further), the
logic in createSingletonJob() was counting these as still pending.
Update the find to treat any job that has errored and not completed as
valid to requeue.
Not perfect, but should get the job done. At worst, something gets queued
an extra time. We should be writing our jobs so that this isn't super
destructive (hopefully).
Merge pull request #7 from iniq/singleton_jobs_detect_abandoned

Update singleton job logic to not treat failed jobs as pending instances