added TimeZonePreference and some code cleanup with the other preferences