Schedules

- controller / user API
- adding executor to the listener so events are not dropped
- added a general-purpose distributed lock DAO
I still need to update and then delete and verify that this works!!!