Verify schedule hasn't changed when creating a job

This as an atomic update for updating the next_run attribute of a schedule when a job is created, preventing multiple schedulers from scheduling the same job or mis-scheduling a changed schedule.