Fix internal makeAs function to work properly for different time zones

Fix internal makeAs function to work properly for different time zones moment/moment-timezone#127

`makeAs` function didn't change the timezone of `input` to match `model`. Instead, it just updated the `offset`, but with different time zone `offset` will be restored with any subsequent call to `updateOffset`.
Correct behavior should be creading a copy of `model` (it will be with proper time zone) and set timestamp from `input`.
Then, we need to update offset from `model` (it is firstly set to zero, and then updated by call to `zone` function to preserve correct timestamp).
And finally, call to `updateOffset` is needed for moment-timezone to update offset in case of different offset in the same time zone for `input` and `model` moments.