am fa7b84a2: Add optional tags to ICU.

Merge commit 'fa7b84a26dd6c44cb0d219ef7b2f7e258219b616'

* commit 'fa7b84a26dd6c44cb0d219ef7b2f7e258219b616':
  Add optional tags to ICU.
Apply my upstream patch for http://bugs.icu-project.org/trac/ticket/8005.

Fixes an uninitialized field access found by valgrind. Committed upstream for
ICU 4.6, which won't be released in time.

Bug: 2225752
Change-Id: Iece472dc4939661d1ad3525a0f0ff03714d1c40f
Add missing NOTICE files.

Copy NOTICE file from location in root into subdirectories where it will
be picked up by the build system.

Change-Id: I8054e8a8868d28b2649c9a632be9256c3fad555c
Better checking for missing data.

This patch warns about files that aren't .res files (which we reference in our
.txt files but don't actually compile into the .dat files), and warns about
locales for which we have some but not all of the locale data, which is
probably a mistake. (It might make more sense if the .txt file just said which
locales we want and the script went out and collected all the locale data.)

This outputs a *lot* of warnings, but I'll address those separately. The
generated files are unchanged.

I've also removed support for RBNF data, since we don't use it anywhere and so
it would probably be a wasteful mistake to reintroduce the data.

Bug: 3139942
Change-Id: Iac2619d1c8d2cc10bc9b87ecc317acb86e410877
More icu_dat_generator.py improvements.

Find the input files and work out the ICU version for ourselves, rather than
having a hard-coded list for the former and requiring the user to supply the
latter.

Also fix most lint warnings.

Bug: 3139942
Change-Id: Ibbf2d6b74765fb9019dea524d40275643fd08d6a
Add the missing files to icudt44l-default.txt and regenerate.

We had only partial locale data for most of the es and fr locales. Fixing that
adds a mere 6KiB to the size of the .dat file.

Bug: 3139942
Change-Id: I8ffed5f2383942efb2b150e0ff1b80be007c6644
Add the missing files to icudt44l-us.txt and regenerate.

We only had partial locale data for most of the es locales, and were missing
part of the data for one en locale. Fixing that adds a mere 5KiB to the size
of the .dat file.

Bug: 3139942
Change-Id: I2524372a4cad37c9dff37842817713999c9a9cc9
Add the missing files to icudt44l-us-euro.txt and regenerate.

We had only partial locale data for several locales. Fixing that adds a mere
5KiB to the size of the .dat file.

Bug: 3139942
Change-Id: I7c128688e206b182520db4b550c2d2d368aa8fb7
Add the missing files to icudt44l-us-japan.txt and regenerate.

We were missing one en locale, and had partial data for the unsupported
ja_JP_TRADITIONAL. Fixing that removes 0.5KiB from the size of the .dat file.

Bug: 3139942
Change-Id: Ic9f7a3e2b63eff00cac4fb49a718403593f573c2
Add the missing files to icudt44l-large.txt and regenerate.

We had only partial locale data for several locales, and we had partial
data for ja_JP_TRADITIONAL and th_TH_TRADITIONAL, which we don't support.
Fixing everything removes 0.5KiB from the size of the .dat file.

Bug: 3139942
Change-Id: Ib43c469f81dfe9a1ac501e48d2c6f6ea13910cac
Remove dead ICU data subset configuration files.

These aren't referenced by Android.mk.

Note that -zh had become a subset of -large, so users should be using -large
instead.

Bug: 3139942
Change-Id: If36abe6f0052b15d20143fa11e24d849c0e88890
Restore icudt44l-us.* files, used by voles and goop.

Change-Id: I57bee369556235e9a84670a3cd6cae2c6b486593
Extend -default to include "it" and "pl", so we can retire -us-euro.

I've also modified icu_dat_generator.py to list the languages included in
each subset. (But not the locales, because that list is too long to be
convenient, plus we now warn if you don't have all the locales for a given
language, so it's just the languages that are interesting anyway.)

We need to keep -us as long as voles is supported, so -default still isn't
the default (and -us still exists), sadly.

Bug: 3139942
Change-Id: If92879fa95b6a10288612b5b4350f22985472919
Stop lying about whether we support "fil". We do.

Bug: 3157134
Change-Id: I662bb0ca003a1864ffb2d08216f112bd696589a3
Make "default" the default ICU data subset.

Bug: 3139942
Change-Id: I147041205c63d7eb61ceb5edff16520a1cab6c24
Use GCC visibility to reduce ICU code size.

From Jim Huang's original patch, but adapted to the internal tree, and
removing duplication.

Bug: https://review.source.android.com/17018
Change-Id: I193dec19222ec405b4f35335b7932f4fb1c3ff44
Make Google's 40-ish languages (covering 99.3% of internet users) the default.

We should decouple localizations from internationalization data. This change
does that, so you can have the latter without the former (and third-party
apps can provide the former for themselves, if they wish to).

Change-Id: I2fabc4d9b4c380d73d275cede5bfb62ee87eacae
Add the "tl" alias for "fil".

In case we have a finished Tagalog localization before we have aapt
support for three-letter language codes.

Change-Id: I59fab1360d903204d625b6b2a851fba6acdfe6b9
Include obsolete languages codes too.

Without this, the fact that java.util.Locale mangles "he" to "iw" means that
ICU has no idea what locale we're talking about when we hand "iw" back to it.

Bug: 3452611
Change-Id: Ie4b6d81eb8af2ac6644b3ff95cf8e4978bcb9ad3
Clean up use of HAVE_ANDROID_OS

Everywhere else uses #ifdef instead of #if. Standardize to #ifdef so we
don't confuse anyone in the future.

Change-Id: If314eb49d272a4af5c5105e17999b70b9afefe59