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.
2936: fix job progress bars

Add edge case settings for when a crunch job could not be started, or
when no tasks were ever created.

Calculate percent_total_tasks as a float, to ensure that it will be
nonzero even if there are more than 100 tasks altogether. Calculate
percentages of individual task progress with .ceil to ensure that there
will be at least 1% shown for each nonzero task status.

Refs #2936
Merge branch '2936-job-progress-bar'

Closes #2936.