Tests for DAGScheduler

This adds a bunch of tests for DAGScheduler, with the actual task execution mocked out.