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 ... 
The old pendingTasks needed the clearing step so that it wouldn't continue to have removed stages mapping to empty sets of remaining tasks.  I agree that a similar step shouldn't be necessary now that pendingTasks is encapsulated in a Stage that is going away.  In fact, in the event of resubmission don't we want this to _not_ be None, else stage.pendingTasks.get will fail?