Disallow saving bad DAGs

Review @rclough. Closes #77. Will wait until after your remote tasks PR is merged to merge this one so you don't get put in rebase hell.