Removed some HashMaps from DAGScheduler by storing information in Stage.

@kayousterhout @markhamstra please take a look ... 
Why filter instead of filterKeys?  Looks to me like that only serves to make the predicate harder to read.