Fix #591.

TZ_PATTERN's first group (`(\\D+?)`) grabbed `-`, leaving `""` for
the second group, which is later used for `sign`. This led to sign
inversion being unperformed.
Merge remote-tracking branch 'github/master'