Change the DateFormatSymbols serialized form

Adding locale to the serialized form of
DateFormatSymbols.

Some duplicated code around the generation of
numeric / offset timezone strings (e.g. GMT+08:00) has
been removed. A new hidden method has been added
to TimeZone to create this string.

The timezone string lookup has been moved into
LocaleData and it now has a single path rather
than treating the customZoneStrings path as special.

customZoneStrings has been removed from
DateFormatSymbols because it would potentially
have an incorrect value after serialization and
it is no longer required.

Bug: 16502916
Change-Id: I2b317e34ba4772beb372a75dd08c95113408b9cc
Merge "Change the DateFormatSymbols serialized form"
Remove an obsolete Pacific/Apia hack.

Bug: 7955614
Change-Id: Iecdd939f25579f882c11d2957c2a5667d2f7fd3a
Merge "Remove an obsolete Pacific/Apia hack."