[SPARK-3003] FailedStage could not be cancelled by DAGScheduler when cancelJob or cancelStage

Some stage is changed from running to failed, then DAGSCheduler could not cancel it when cancelJob or cancelStage. Since in failJobAndIndependentStages, DAGSCheduler will only cancel runningStage and post SparkListenerStageCompleted for it.