Shutdown StandaloneExecutorBackend properly in non-error case by sending a termination message instead of calling process.destroy
Merge remote-tracking branch 'cgrothaus/standalone-executor-proper-shutdown' into branch-0.7

Conflicts:
	core/src/main/scala/spark/executor/StandaloneExecutorBackend.scala
When an executor should be killed, send it a message from the worker.

This will improve executor killing on Windows, where the call to
Process.destroy() that we make will only kill the "spark-executor"
script that launched the executor JVM, but not that JVM itself. It's not
a perfect fix, but in the future we'll spawn a JVM without this script.