Refactor Scheduler as a clustered service

Refactor the scheduler classes to work in terms of the new ClusteredService. Please look at this code closely, as there's a couple parts (particularly the Try scheduler) that I'm not real familiar with.