Libcore/ICU: Generate CTSv2 test list from Description hierarchy

Avoids having to hook into the JUnit Runner implementations in
order to generate a list of tests that are to be run by just
traversing the Description hierarchy that those Runner
implementations create instead.

Does that by replacing the root Runner class that runs all the
tests with a custom Runner class that simply fires events for
the leaf Description instances in the Description hierarchy it
is given.

Although the primary reason for this change is to simplify the
integration of custom Runner implementations in CTS tests it
should also reduce the time spent generating the test list. It
does that because it does not use any configured RunListener
classes as they are not needed which saves time.

Bug: 30801147
Change-Id: I6e7df55ae6538e2271574fb6f25999c1a136474b
Test: Ran CtsIcuTestCases and CtsLibcoreOjTestCases and CtsLibcoreTestCases
2 files changed