Until this diff, the partition values (and range of partitions in the schedule) for schedules with timezones were being computed using UTC, which doesn't work for both usability reasons (why are my partitions in a weird offset?) and correctness reasons (yesterday's partition won't show up in the list until we pass midnight UTC).
This diff fixes that - but also means that a lot more things need to check state on the instance than they used to, and the function that generates a list of partitions from a partition set also needs to take in an instance.
Still adding a bit more testing but wanted to get an initial gut-check on this approach. Maintaining backwards compatibility with the cron scheduler is also a bit tricky since it doesn't consider timezones at all when generating partitions.