Treat any non-success result as a failure.

Aborted, lost, skipped, unstable will all cause a change not to
merge, so treat them the same when deciding if any job for a
change failed.  This should stop new launches and cancel builds
faster when these alternate failures happen.

Also, make the output of the completed jobs in the test suite
more comprehensible by including the change numbers, and use
a new object with its own string formatting for printing.

Change-Id: I2826b0eb5d26a019fed7d20bb1296624588c9fac
Reviewed-on: https://review.openstack.org/23123
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins