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

This is a fixed up version of #686 (cc @markhamstra @pwendell).  The last commit (the only one I authored) reflects the changes I made from Mark's original patch.