Migrate GuavaListenableFutureQueryResultBinder to driver APIs

Two key changes to enable Room's Guava integration to use driver APIs:

* Use kotlinx-coroutines-guava to bridge between suspending Room driver APIs to Futures.
* Due to conversion of GuavaRoom utility functions to top-level Kotlin functions a new marker class was created to identify if the dependency is in the classpath since in KSP top-level containers are not discoverable.

Test: Existing
Relnote: "Added code gen APIs to support GuavaRoom with driver APIs."
Change-Id: Ic9fbddec12af20a86642054a0a4137bc82fa07d8
diff --git a/room/room-guava/build.gradle b/room/room-guava/build.gradle
index 3ca92ce..82f0229 100644
--- a/room/room-guava/build.gradle
+++ b/room/room-guava/build.gradle
@@ -37,6 +37,9 @@
     implementation("androidx.arch.core:core-runtime:2.2.0")
     api("androidx.annotation:annotation:1.0.0")
     implementation("androidx.concurrent:concurrent-futures:1.0.0")
+    implementation(libs.kotlinCoroutinesGuava) {
+        exclude group: "com.google.guava", module: "guava"
+    }
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.truth)
 }