Refactor Date, Time, DateTime timezone methods

Similar implementations of `#in_time_zone` exists for `Date`, `Time` and `DateTime` so
method is extracted into its own module. Also some logic is extracted into
private method.

/cc @pixeltrix