Refactor DynamoScheduler to use the IScheduler interface

And update the Task models to match the new interface, part of the model sep fragmentation.

FYI @ikeough @pboyer