[autotest] Add clarity for retry and timeout jobs in run_suite

This cl contains the following changes:
- make run_suite return WARNING when test passed after being
retried.
- log retry count
- buildbot shows retry count

- log the info that a test timed out and did not run
- mute the buildbot links for timing out tests

- some refactoring

BUG=chromium:373914,chromium:375818
TEST=unittest;
Call run_suite -m with suite jobs to cover the following cases
1) SUITE_TIMEOUT
2) WARNING because tests failed after retry
3) ERROR because test failed, test failed after retry
   and test aborted after executed
4) INFRA_FAILURE because bug in dynamic suite
5) OK

Make sure exit code is correct and buildbot links for tests that
have timed out are muted.

Change-Id: I3b8d155591b416d191d582010c19e8b9826d2c66
Reviewed-on: https://chromium-review.googlesource.com/200520
Tested-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
2 files changed