CTS: Add skeleton for JVMTI tests

Create a hostside CTS test for JVMTI on Android.

Add a base device test library that contains an empty activity,
a special bindings class and an instrumentation test that uses
the binding class to wait for an agent.

Add an initial agent implementation with some helpers. Add binding
code that looks for the well-known bindings class and searches for
C implementations (using the Java mangling scheme) of all native
methods found in the bindings class. Then call a well-known method
to let the Java side know that the agent has attached.

Add a host test library that implements a host test. The host test
takes an APK and package name as input from a properties file. The
host test constructs a remote runner to run the given test. When
the test run on device is started, the test will extract the agent,
which is expected to be in the device test APK, send it to the device
into the test's data directory, and call attach-agent to attach the
test.

(Revert of commit b2c00541678ad24c0a1775ebef65e43cb08dc65b)

Bug: 32072923
Test: m cts
20 files changed