Support disabled, aborted, and never run jobs

In addition to cleanly supporting these other job types, this pull request also updates the stats rollup to only display fields that have a non-zero value.

This is based on GH-36.
Would it be safe to call 'not_run' jobs 'unknown', or vice versa? Ideally, "unknown" wouldn't really exist aside from a 'not_run' situation, since (eventually) the app will return alert-warning and alert-danger for that.