Make androidx.room and androidx.sqlite target Kotlin 2.0

This required the following changes:

 * Suppress 'ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT' in SQLiteException.android.kt and ThreadLocal.jvmAndroid.kt due to being impossible to match annotations in expect when actual is a typealias to a platform type. Meanwhile in room-common repeatable annotations in JVM use @JvmRepeatable while expect uses Kotlin's @Repeatable and while trying to match actual with expect, an error is produced due to @JvmRepeatable and @Repeatable being used together.

 * Fix various annotations mismatch between actual / expect.

 * Removing @JvmField from common code as expect properties have no backing field and @JvmField targets FIELD.

 * Smart-cast is not possible for expect properties, therefore first store in local variable before smart-case usage. Observed in TableInfo, FtsTableInfo, ViewInfo and MigrationUtil.

 * Adding load() and getRefreshKey() to expect LimitOffsetPagingSource to conform to modality of actual overriding those functions.

 * Make a XProcessingEnvConfig a normal class (instead of a data class) since it has a private constructor with a public copy() usage which is now invalid.

 * Set useKsp2=true on projects with KSP and Kotlin language 2.0 (Room KMP test apps).

 * Workaround KSP2 issue with default value of annotations not appearing in value list. Added a get() that returns nullable XAnnotationValue.

 * Workaround KSP2 issue of projecting value class constructor as member of (to support generics).

 * Workaround XPoet creating JavaPoet types of invalid methods (internal) when XProcessingEnvConfig.excludeMethodsWithInvalidJvmSourceNames is set to true due to Kotlin codegen.

Bug: 315461431
Bug: 384600605
Test: Existing
Relnote: "Native APIs updated due to Kotlin 2.0"
Change-Id: I8efb015c88682921780370c8bed5931d9933a319
diff --git a/room/room-paging-guava/build.gradle b/room/room-paging-guava/build.gradle
index 73a8396..39cc34c 100644
--- a/room/room-paging-guava/build.gradle
+++ b/room/room-paging-guava/build.gradle
@@ -21,6 +21,8 @@
  * Please use that script when creating a new project, rather than copying an existing project and
  * modifying its settings.
  */
+
+import androidx.build.KotlinTarget
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 import androidx.build.LibraryType
 
@@ -55,8 +57,13 @@
     inceptionYear = "2022"
     description = "Guava integration in Room Paging"
     legacyDisableKotlinStrictApiMode = true
+    kotlinTarget = KotlinTarget.KOTLIN_2_0
 }
 
 android {
     namespace = "androidx.room.paging.guava"
 }
+
+ksp {
+    useKsp2 = true
+}