Android patch: Modify test.java.util.concurrent.tck tests to pass on Android - Attempt 2

The 1st attempt is reverted due to http://b/181312360. The solution is
to mark Collection8Test as abstract class instead. Verified by running
`atest CtsLibcoreOjTestCases`

To add API coverage to classes, e.g. java.util.SplittableRandom

A few tests are removed because they are not compiled on Android.
SubmissionPublisherTest: Android has not SubmissionPublisher class
TimeUnit8Test: Android doesn't have all the APIs as upstream 9+181.
Atomic*9Test: Android doesn't have all the APIs as upstream 9+181

Note that test.java.util.concurrent.tck has some similiar tests as
tests in libcore/jsr166-tests, but they are not strict superset or
subset. Upstream apparently will add more tests over the time as
*9Test are new.

Test failures are added into expectations/knownfailures.txt.
b/181171596 to invesigate the failures in details

Bug: 119393918
Test: atest CtsLibcoreOjTestCases
Change-Id: I70ff582fe5331aa74c44f556722afcdc958e0ac8
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index 0ddbe61..db3e75a 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -673,7 +673,10 @@
         "bouncycastle",
     ],
 
-    static_libs: ["testng"],
+    static_libs: [
+        "junit",
+        "testng",
+    ],
 
     // ojluni/src/test/java/util/stream/{bootlib,boottest}
     // contains tests that are in packages from java.base;
@@ -730,6 +733,7 @@
     system_modules: "core-all-system-modules",
     libs: [
         "bouncycastle",
+        "junit",
         "okhttp",
         "testng",
     ],