Upon restart or leader election:

- The TaskRunner should populate its own runningTasks and completeTasks from ZK upon startup. Although it may only currently be populating completeTasks. Will look into this.
- The TaskLockbox syncs its list of active locks from TaskStorage (so, a mysql table).
- The TaskQueue syncs its list of active tasks from TaskStorage (so, a mysql table). Then the TaskQueue begins managing the TaskRunner by asking it to run tasks that haven't run yet (based on TaskRunner.getKnownTasks) and asking it to shutdown/cleanup extraneous tasks (based on same).