Resolve "Output nodes from failed jobs are not being removed from the pipeline"
Closes #173 (closed)
Fixes a longstanding bug that jobs that are failed or aborted still had their output nodes appearing in teh pipeline.
Draft until !191 (merged) is merge because it is branched off of it.