Part of [SPARK-2456] Removed some HashMaps from DAGScheduler by storing information in Stage.

This is part of the scheduler cleanup/refactoring effort to make the scheduler code easier to maintain. 

@kayousterhout @markhamstra please take a look ... 
Actually that's pretty cool. I looked into the source code more. Didn't realize the whole FilteredKeys thing is "lazy".