Redesign Scheduler part 2
Unify all job vertices to one type (rather than dedicated input/output types)
Make IDs immutable and serializable.
First stubs of intermediate data set and related classes
First part of the job graph refactoring