Scheduler API:
Scheduler is an abstract class which defines methods such as create_schedule, start_schedule, etc. Each instance of a Scheduler stores a list of RunSchedules
Two implementations of Scheduler included are:
- TestScheduler - works entirely in memory and does not implement starting and stopping schedules (just creating and removing them)
- SystemCronScheduler - saves schedules to a file, and uses cron to start and stop schedules.