[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.
Sorry Mark one more question here -- can we move the job.listener.jobFailed(error) call from line 1041 to here in the "try" clause?  It seems weird to tell the user the job has been cancelled when, in fact, it hasn't.