Merge pull request #26 from bcwaldon/cmd-refactor

refactor(cmd): move cli.Command definition into command files
Merge pull request #27 from bcwaldon/schedule-all

Ability to schedule to all machines
refactor(engine): Breaking apart code in engine pkg for readability
feat(engine): Add global event consumer

This new event consumer listens for new jobs or machines and ensures
two things:
1) new cluster-level jobs are scheduled to all machines in the cluster
2) new machines receive each of the cluster-level jobs when they boot

This code needs a lot of work, but hey, it's functional.
refactor(engine): Break apart entrypoints to engine pkg
refactor(engine): Rename watcher.go -> listener.go
refactor(engine): Rename EventConsumer -> EventListener
fix(engine): Track new machines in listener