Fix TimeZone.getTimeZone stack overflow in an edge case

The edge case requires a change in the system property
"persist.sys.timezone" to be "GMT-12:00". Normally, via
the Settings app, I can only set the value to be "Europe/London"
or "Etc/GMT-12", where the code path calling TimeZone.getCustomTimeZone
won't happen. The bug also happens only if the app's targetSdkVersion <=
29.

I reproduced the issue with a new test case
TimeZoneTest.testGetTimeZone_targetSdkVersion29.

LocaleData put all various locale data into the same class because
JNI cost was heavy to invoke ICU4C. LocaleData used to obtain all the
values from ICU4C in a single JNI call. However, it's no longer the
case, and all JNI calls are replaced by ICU4J calls or hidden away in
the @IntraCoreApi provided by the com.android.i18n module.

This splits the LocaleData into other classes
thus it reduces the chance of hitting the interdependency path
between libcore and ICU4J.

Performance: It may improve the performance of
certain code paths, but libcore.benchmark.FormatterTest doesn't
show any significant change in String.format performance.

A couple of TODO(http://b/217881004) are added because they are NOT a
regression introduced in this CL, but should be fixed in the future.

Bug: 205618822
Test: atest CtsLibcoreTestCases:libcore.java.util.TimeZoneTest
Change-Id: I1322af444285dbd66c0cab2a769bcc1bf10a33bc
diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp
index 461c159..5e32adb 100755
--- a/non_openjdk_java_files.bp
+++ b/non_openjdk_java_files.bp
@@ -224,8 +224,10 @@
         "luni/src/main/java/javax/xml/xpath/XPathVariableResolver.java",
         "luni/src/main/java/libcore/content/type/MimeMap.java",
         "luni/src/main/java/libcore/icu/DateIntervalFormat.java",
+        "luni/src/main/java/libcore/icu/DecimalFormatData.java",
         "luni/src/main/java/libcore/icu/ICU.java",
         "luni/src/main/java/libcore/icu/LocaleData.java",
+        "luni/src/main/java/libcore/icu/SimpleDateFormatData.java",
         "luni/src/main/java/libcore/icu/TimeZoneNames.java",
         "luni/src/main/java/libcore/io/AsynchronousCloseMonitor.java",
         "luni/src/main/java/libcore/io/ForwardingOs.java",