Fixed dependency ordering.  Scheduler is now dependency of service.

Refactored JobExecution to use an interface so internal operations are
hidden from Jobs.