Refactor SubscriptionManager caching code

Create a genericized class to use for SubscriptionManager caching calls
in order to avoid duplicating logic that fetches values from ISub.

Bug: 151953109
Test: atest android.telephony.cts.SubscriptionManagerTest
Change-Id: I6682ded8aec8cb3e50521584c177df6d5dae8c49
diff --git a/Android.bp b/Android.bp
index 4fd129d..a604b8f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1138,6 +1138,7 @@
         "core/java/com/android/internal/os/SomeArgs.java",
         "core/java/com/android/internal/util/BitwiseInputStream.java",
         "core/java/com/android/internal/util/BitwiseOutputStream.java",
+        "core/java/com/android/internal/util/FunctionalUtils.java",
         "core/java/com/android/internal/util/HexDump.java",
         "core/java/com/android/internal/util/IndentingPrintWriter.java",
         "core/java/com/android/internal/util/Preconditions.java",