Update ICU to 60.1 + local patches

What's new in ICU 60.1:
  - Unicode 10.0 (including Emoji 5.0)
  - CLDR 32 (locale data; http://cldr.unicode.org/index/downloads/cldr-32 )
  - Smaller rule file size for BreakIterator (no more reverse rules)
  - A new number formatting API
  - Malformed UTF-8 sequences are handled per W3C Encoding Standard
  - See http://site.icu-project.org/download/60 for more details.

In addition, the following changes are made:

* Add more locale variants for en,fr,de,it,pt,nl,ru,ar

* Add the minimum locale data for Osage and Chakma

* Apply locale data patches (Google and Chromium)

* Apply build-related and break iterator patches:
  wpo.patch
  vscomp.patch
  data.build.win.patch
  data_symb.patch
  cjdict.patch
  khmer-dictbe.patch
  wordbrk.patch
  patches/data.build.patch

* Update BUILD.gn and gyp files.

* Data file size (25 ~ 130kB smaller than the latest 59.1)
  android/icudtl.dat 6499904
  common/icudtl.dat 10170896
  ios/icudtl.dat 6486240

The update steps are recorded in
https://chromium.googlesource.com/chromium/deps/icu/+log/f88520f..1034c7e5 .


Bug: 766816
Test: None (DEPS roll CL will have test specified).
Change-Id: I9144bb37464eec1f282f40f9f2d28b6306511083
Reviewed-on: https://chromium-review.googlesource.com/756237
Reviewed-by: Mark Mentovai <mark@chromium.org>
diff --git a/source/common/udata.cpp b/source/common/udata.cpp
index 10e9998..a02a28d 100644
--- a/source/common/udata.cpp
+++ b/source/common/udata.cpp
@@ -206,6 +206,8 @@
     return didUpdate;
 }
 
+#if U_PLATFORM_HAS_WINUWP_API == 0 
+
 static UBool
 setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCode) {
     UDataMemory tData;
@@ -215,6 +217,8 @@
     return setCommonICUData(&tData, FALSE, pErrorCode);
 }
 
+#endif
+
 static const char *
 findBasename(const char *path) {
     const char *basename=uprv_strrchr(path, U_FILE_SEP_CHAR);
@@ -982,7 +986,7 @@
     /* init path iterator for individual files */
     UDataPathIterator iter(dataPath, pkgName, path, tocEntryPathSuffix, FALSE, pErrorCode);
 
-    while((pathBuffer = iter.next(pErrorCode)))
+    while((pathBuffer = iter.next(pErrorCode)) != NULL)
     {
 #ifdef UDATA_DEBUG
         fprintf(stderr, "UDATA: trying individual file %s\n", pathBuffer);
@@ -1165,7 +1169,7 @@
         if(uprv_strchr(path,U_FILE_ALT_SEP_CHAR) != NULL) {
             altSepPath.append(path, *pErrorCode);
             char *p;
-            while((p=uprv_strchr(altSepPath.data(), U_FILE_ALT_SEP_CHAR))) {
+            while ((p = uprv_strchr(altSepPath.data(), U_FILE_ALT_SEP_CHAR)) != NULL) {
                 *p = U_FILE_SEP_CHAR;
             }
 #if defined (UDATA_DEBUG)