Add RavenwoodAwareTestRunner + use it

- Add a new test runner for Ravenwood, which wraps another test runner
  and provides variouos "hook points".

- Update ravenzier to inject the runner to all test-looking classes,
  also with the needed rule fields.

- Provide "bare minimum" initialization to allow some known existing
  runners (AndroidJUnit4, JUnitParamsRunner and
  ParameterizedAndroidJunit4) to run as-is on Ravenwood.

Flag: EXEMPT host test change only
Bug: 360390999
Bug: 356918135
Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh

Change-Id: I8d023ea303c5b86e54d0141de6eec695ad5f0242
22 files changed