zone setter can now skip adjusting the hour

When you change the zone you'd expect the time to remain the same, but if
you're doing something low-level you might want just the zone offset to change.

Add a second argument to zone that would allow the caller to disable adjusting
the hour when setting a zone.
Merge pull request #1468 from ichernev/feature/allow-zone-skip-adjust

@changelog
@section enhancement
@description zone setter can now skip adjusting the hour