Move java.nio.charset codes into core-icu4j due to its extensive usage of ICU

- The moved code will be part of i18n module in the future
- Some new @IntraCoreApi, e.g. EmptyArray, is unnecessary, but
  the cleanup will be done in a separate CL.

Bug: 138994281
Test: atest --test-mapping external/icu/android_icu4j/src/main/java/com/android/icu/charset:presubmit
Change-Id: Ic69725584e4a485595bfc25fc72546abb11a6904
19 files changed