Fix bitrot in the libnativebridge tests.

- Bitrot 1: NativeBridge2Signal_test stopped working when version 3 was
  added in https://r.android.com/234059.

- Bitrot 2: The code path that PreInitializeNativeBridgeFail1_test
  tested was removed completely when missing app data directory was
  allowed in https://r.android.com/1208629, so delete the test.

- Use cc_test_library for the dynamic test libs so they are installed in
  the test directory rather than in system/lib(64).

- Use test_per_src since native_bridge.cc doesn't support reloading the
  native bridge implementation lib after unloading.

- Add a custom script to run the tests and a preupload check that the
  script is run. (Configuring atest for these tests still TBD in
  b/189484095 - test_per_src is a complication.)

Test: art/libnativebridge/tests/runtests.sh
Bug: 122710865
Bug: 189484095
Change-Id: Ib2b387e1d858127ca4bb44c548a5105ea8b838d8
diff --git a/libnativebridge/tests/NativeBridgeTestCase2.cpp b/libnativebridge/tests/NativeBridgeTestCase2.cpp
index 3c75ebf..5164dec 100644
--- a/libnativebridge/tests/NativeBridgeTestCase2.cpp
+++ b/libnativebridge/tests/NativeBridgeTestCase2.cpp
@@ -46,8 +46,8 @@
 }
 
 extern "C" bool native_bridge2_is_compatible_compatible_with(uint32_t version) {
-  // For testing, allow 1 and 2, but disallow 3+.
-  return version <= 2;
+  // For testing, allow 1-3, but disallow later.
+  return version <= 3;
 }
 
 static bool native_bridge2_test_case_signal_handler(int, siginfo_t*, void*) {
@@ -73,4 +73,3 @@
   .isCompatibleWith = &native_bridge2_is_compatible_compatible_with,
   .getSignalHandler = &native_bridge2_get_signal_handler
 };
-