reduce object allocations in utc_offset

`try` allocates an array on every call, we should avoid calling it in
hotspots.  This reduced AttributeMethodsTest#test_setting_time_zone_aware_attribute_with_string
from 18k allocations to 14k