Use Suite Retry

A suite tends to include several test modules and can reach quite a large
test corpus size. For example, the Android Compatibility Test Suite (CTS)
includes hundreds of modules and hundreds of thousands test cases.

It becomes possible for a large amount of tests to fail due to poor isolation
or devices going into a bad state.

The suite retry feature is meant to address those cases: It allows you to retry
the failures only instead of the full suites in order to rule out flakiness and
poor isolation. If a test is consistently failing, the retry will also fail; and
you get a much stronger signal that there is a real issue.

Implement suite retry

The retry of results involves reading the previous results and re-running the
previous invocation.

The main interface driving the retry is ITestSuiteResultLoader,
which allows you to load a previous result, and the previous command line.

The RetryRescheduler
then uses this information to recreate the previous command and populate some
filters in order to re-run only the previous failures or not executed tests.