Fix int32 overflow in TimeZone::offset()

Summary: There is an integer overflow which is causing garbage to be returned from TimeZone::offset()

Reviewed By: @scannell, @jasone

Differential Revision: D1514780