Improve handling of base offset shifts

This fixes a bug with the transition time of the Samoan base offset
change (UTC-10 -> UTC+14), relating to the fact that it occurred during
DST.

When cleaning that up, I discovered a cleaner way to handle the issue of
Portugal's base offset shift without a corresponding total offset shift,
obviating the need for a second traversal of the transition list.
2 files changed