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.