Improve time zone behavior in Python bindings at transition points.

This adds pre-computed ranges during which time zone definitions are in
effect, allowing the search to function more correctly in the hour
immediately before and after a transition.

Fixes #11447
Closes #10847