ICU update to 58 part 2

Follw-up to https://chromium.googlesource.com/chromium/deps/icu/+/5feb9ad5
(due to a rietveld issue, part 1 was manually pushed).

Update ICU to 58.1 release from ICU 56.1 part2.

Listed below a tiny subset of what's new in 58.1:

  1. Unicode 9.0 from Unicode 8.0
    - Updated character properties including Emoji data up to 4.0beta.
    - Updated grapheme/word/line breaking rules for Emoji sequences and others.

  2. CLDR 30.0.2 from CLDR 28
    - Numerous locale data updates/improvements

  3. Spoofing API changes
  4. Greek uppercasing support as a part of regular case-mapping API.
  5. Line breaking rule file format optimization. This change enables me
     to add CJ loose line breaking rules back (previously, it's dropped
     to save space) so that Blink can use it for CJ.

See http://site.icu-project.org/download/58 for more details on ICU 58.1
and http://site.icu-project.org/download/57 for more details on ICU 57.1

For CLDR 30, see http://cldr.unicode.org/index/downloads/cldr-30 .

The size impact:
   Non-Android: 10,127,200 => 10,128,624 (delta = 1,424 / 0.014%)
   Android: 6,563,152 => 6,571,936 (delta = 8,784 / 0.13%)

Below are the list of changes made on top of the upstream ICU 58.1
in reverse order. Most of these changes were made in 58staging branch
to run trybots and cherry-picked back for this CL. See
   https://chromium.googlesource.com/chromium/deps/icu/+/log/chromium/58staging
   https://codereview.chromium.org/2447513002/ : cr+blink update cl with
       58staging branch head.

* Fix a build on Win without std::string (v8)
* Add ms932 alias to Shift_JIS

* Apply Google-specific locale data patches

* Fix a bug in scriptset

* Update windows-1255 mapping

* Disable C4333 warning by MSVC (harmless)

* Apply and update utf32.patch and README.chromium

* Update and apply vscomp.patch
  stringpiece patch removed. VS2015 seems to be fine with a redefinition.

* Update pre-built ICU data files
   Update *local.mk with a new copyright line

* Apply more patches
  The following patches were applied and updated: data_symb, vscomp, wpo

  The unnecessary part was dropped from vscomp

* Update BUILD.gn and icu.gyp* files

* Update android/brkitr.patch

* Update and apply more patches

* Update and apply cjdict.patch
   Apply data.build.patch

* Delete obsolete patches: cmemory,regex

* Update README.chromium and apply brkitr patches

  - Update README.chromium
  - Remove obsolete patches
  - Update linebrk.patch and apply it: add back line_loose_cj

* Update wordbrk.patch and apply it

* Update and apply khmer-dictbe.patch

* Update data trimming

  - android/patch_locale.sh
  - scripts/trim_data.sh
     ExemplarCh* removed
     charac*Label removed
     relative/relativeTime removed for daysOfWeek and quarter

* Update the following patches

  android/brkitr.patch
  patches/linebrk.patch
  patches/data.build.patch

* Update cjdict.patch and linebrk.patch

BUG=637001
TEST=Layout tests, all unittests, browser tests, ui tests.
R=jsbell@chromium.org, mark@chromium.org

Review URL: https://codereview.chromium.org/2442923002 .
183 files changed