Fix overallocation problem in zic.

* zic.c (writezone), NEWS: Give 'writetype' TX_MAX_TYPES entries,
not TZ_MAX_TIMES.  (Thanks to Zefram.)
Check for integer overflow errors in zic.

Also, allocate memory faster by growing buffers by a factor of 1.5
each time, rather than simply adding 1 to the size.
* private.h (SIZE_MAX): New macro, for older systems lacking it.
* zic.c (nrules_alloc, nzones_alloc, nlinks_alloc): New static vars.
(memory_exhausted, size_product, growalloc): New functions.
(memcheck, inrule, inzsub, inlink, getfields): Use them.
Remove TZ_MAX_TIMES restriction in zic.c.

This lets zic handle the time rules of Troll station,
Antarctica.  Adapted from a fix by Zefram in:
http://mm.icann.org/pipermail/tz/2014-March/020759.html
* zic.c (timecnt_alloc): New static var.
(attypes): Now a pointer to an array, not a fixed size array.
(writezone, addtt): Don't assume the number of times is less than
TZ_MAX_TIMES.
* NEWS: Document this.
* tzfile.h (TZ_MAX_TIMES), NEWS: Increase from 1200 to 2000.

This lets localtime handle Troll station.  Hack suggested by Zefram.
* antarctica, NEWS: Add a commented-out entry for Troll station.

(Thanks to Paul-Inge Flakstad.)
Remove unused rules, and add a check for this.

* checktab.awk: Check for a Rule defined but never used.
* antarctica (NZAQ): Remove unused rule.
* NEWS: Document this.