Encode/decode time from utc to the local zone

Ensures time is always persisted and queried as UTC (just like
ActiveRecord) but also properly converts the model's datetime
fields back to the local timezone if set.