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.
Merge pull request #11686 from gzohari/pr-refactor-time-datetime

Refactor Date, Time, DateTime timezone methods