Improve our time zone name collection.

A variety of bugs here. We weren't using dates in the current year,
we were assuming that icu4c has correct time zone transition data (it
usually doesn't), and in the fallback code (which we'd previously
never hit) we weren't honoring the caller's request for standard/daylight
time.

This patch fixes:

         Africa/Tripoli: long='Eastern European Standard Time' short='Eastern European Standard Time'!
      America/Araguaina: long='Brasilia Standard Time' short='Brasilia Standard Time'!
   America/Campo_Grande: long='Amazon Standard Time' short='Amazon Standard Time'!
         America/Cuiaba: long='Amazon Standard Time' short='Amazon Standard Time'!
         America/Havana: long='Cuba Standard Time' short='Cuba Standard Time'!
       America/Santiago: long='Chile Standard Time' short='Chile Standard Time'!
      America/Sao_Paulo: long='Brasilia Standard Time' short='Brasilia Standard Time'!
      Antarctica/Palmer: long='Chile Standard Time' short='Chile Standard Time'!
         Asia/Jerusalem: long='Israel Standard Time' short='Israel Standard Time'!
            Asia/Tehran: long='Iran Standard Time' short='Iran Standard Time'!
          Asia/Tel_Aviv: long='Israel Standard Time' short='Israel Standard Time'!
            Brazil/East: long='Brasilia Standard Time' short='Brasilia Standard Time'!
      Chile/Continental: long='Chile Standard Time' short='Chile Standard Time'!
     Chile/EasterIsland: long='Easter Island Standard Time' short='Easter Island Standard Time'!
                   Cuba: long='Cuba Standard Time' short='Cuba Standard Time'!
                   Iran: long='Iran Standard Time' short='Iran Standard Time'!
                 Israel: long='Israel Standard Time' short='Israel Standard Time'!
                  Libya: long='Eastern European Standard Time' short='Eastern European Standard Time'!
           Pacific/Apia: long='Samoa Standard Time' short='Samoa Standard Time'!
         Pacific/Easter: long='Easter Island Standard Time' short='Easter Island Standard Time'!
           Pacific/Fiji: long='Fiji Standard Time' short='Fiji Standard Time'!

It also fixes Pacific/Fakaofo, which was confused between GMT+14:00 and
GMT+13:00.

We need a special case for Pacific/Apia because icu4c 4.9 doesn't believe
Samoa has ever used daylight time.

I've also added a test to keep us out of mischief in the face of future
upgrades to the Olson tzdata and/or icu4c.

Bug: 7955614
Bug: 8026776
Change-Id: I7ed551a691f29e26dd71456d492493d2a4fce945