[SPARK-1749] Job cancellation when SchedulerBackend does not implement killTask

It turns out that having the DAGScheduler tell the taskScheduler to cancelTasks when the backend does not implement killTask (e.g. Mesos) is not such a good idea.
Hmmm... not sure that I agree.  A job being cancelled, stages being cancelled, and tasks being cancelled are all different things.  The expectation is that job cancellation will lead to cancellation of independent stages and their associated tasks; but if no stages and tasks get cancelled, it's probably still worthwhile for the information to be sent that the job itself was cancelled.  I expect that eventually all of the backends will support task killing, so this whole no-kill path should never be hit.  But moving the job cancellation notification within the try-to-cancelTasks block will result in multiple notifications that the parent job was cancelled -- one for each independent stage cancellation.  Or am I misunderstanding what you are suggesting?