Upgrade ICU to 54.1

ICU 54.1 comes with CLDR 26 locale data along with Lao and Khmer dictionaries
for line/word breaking, new interval/duration formatting support, display
context support for date-time and lang/region display name and many more.

To better support regional variants such as en-{CA,AU}, fr-CA, es-*, and de-CH,
the locale data for those variants are included.

The ICU data file (icudtl.dat) for non-Android platform is
256,960 bytes smaller than before.

On Android, it's 232,240 bytes larger because the currency display
name data was added for EcmaScript I18N API.

On Linux/Mac/Android/iOS, base::TestSuites initializer now sets the
ICU locale explicitly to en_US if the default locale is a POSIX locale
that is not supported because I got rid of word_POSIX to save about
100kB. Moreover, virtually none of our users uses a POSIX locale so that
testing on POSIX locale is not realistic.

en_GB time formatting changed in ICU 54.1/CLDR 26 and the expected results
are updated.

Noto to Sheriff: The above data size changes (reduction or increase) may
require the expected size adjustment.
See https://codereview.chromium.org/403723003 for a similar change.

BUG=428145
TEST=All tests on all platforms including but not limited to
 1. Blink: layout tests and webkit_unittests
 1. base_unittests: Break*, *onvers*, *Format*, *CU*, RTL*, *Search*
 2. browser_tests: *ncoding*, *UILanguage* (CrOS)
 3. sql_unittests
 4. gfx_unittests: RenderText*
 5. components_unittests: Query*, *ookmark*
 6. net_unittests: Net**IDN*, URL*
 7. url_unittests
 8. ui_base_unittests

Review URL: https://codereview.chromium.org/878723002

Cr-Commit-Position: refs/heads/master@{#317210}


CrOS-Libchrome-Original-Commit: 8fe2fe9afd2d94f6cd814cd55900460ad11da26a
3 files changed
tree: 3118952f22b39c546353ef8801f8a1cd15e001b0
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/