2936: improve progress bar for failed jobs
Ensure that:
* All job progress bars reflect at least one task. If a job has no
tasks at all (done, failed, finished, or todo) that should be
considered a failed job, so render a progress bar as though one task
ran and failed.
* A failed job (j[:success] == false) always shows at least one failed
task. If a job is marked as failed but has no failed tasks, then
pretend there was one failed task so at least some red will appear in
the progress bar.
Fixes #2936.