contexthub: add new getHubs hidden API for V4

- Add hidden API ContextHubManager.getHubs() -> HubInfo
- HubInfo is a union type for VendorHubInfo (newly introduced) and
  ContextHubInfo
- Create HubInfoRegistry for tracking hub and endpoint info

Refactor
- Renamed getHubs to getContextHubs for some internal methods

Sample dumpsys for HubInfo: https://paste.googleplex.com/4989897428697088?raw

Test: manual
Bug: 375487784
Flag: android.chre.flags.offload_api
Change-Id: I841ff14b5378fc1d4df3a0c6b0e6fc082a189059
diff --git a/Android.bp b/Android.bp
index 26d0d65..9cb3067 100644
--- a/Android.bp
+++ b/Android.bp
@@ -220,7 +220,7 @@
         "android.hardware.contexthub-V1.0-java",
         "android.hardware.contexthub-V1.1-java",
         "android.hardware.contexthub-V1.2-java",
-        "android.hardware.contexthub-V3-java",
+        "android.hardware.contexthub-V4-java",
         "android.hardware.gnss-V1.0-java",
         "android.hardware.gnss-V2.1-java",
         "android.hardware.health-V1.0-java-constants",