ICU4J 63 went beyond Android API level 21
ICU-13413 "require Java 7 for ICU4J" really said
Move up from Java 6 to Java 7. Require things like Locale.forLanguageTag().
We should keep ICU4J working for Android Lollipop, API level 21.
For the most part, Android API level 21 provides for Java 7 as far as we care.
However, java.util.Locale.Category was added only in API level 24 which is much too recent.
ICU4J 63 ULocale.getDefault(Category) and setDefault(Category) are using java.util.Locale.Category, breaking apps intended to run on Lollipop and Marshmallow devices.
We should revert these functions to their ICU4J 62 versions.
TimeZone.observesDaylightTime() also needs to wait for Android API level 24.
I will fix JavaTimeZone.java.
I do not plan to fix localespi/src/com/ibm/icu/impl/icuadapter/TimeZoneJDK.java, assuming that Android app developers are unlikely to want to use ICU's localespi code.
The ULocale code changes are in https://github.com/unicode-org/icu/pull/43/files#diff-b7486b99b485572abf2dd43c882f7361
Looks like we need to restore logic involving JDKLocaleHelper.hasLocaleCategories() and maybe the "user.script" system property?