[SPARK-2608] fix executor backend launch commond over mesos mode

https://issues.apache.org/jira/browse/SPARK-2608
This is the updated version of https://github.com/apache/spark/pull/1513

Mesos scheduler backend use spark-class/spark-executor to launch executor backend, this will lead to issues:
1 when set spark.executor.extraJavaOptions CoarseMesosSchedulerBackend will throw errors because of the launch command "./bin/spark-class org.apache.spark.executor.CoarseGrainedExecutorBackend %s %s %s %s %d").format(basename, extraOpts, driverUrl, offer.getSlaveId.getValue,offer.getHostname, numCores))

2 spark.executor.extraJavaOptions and spark.executor.extraLibraryPath set in sparkconf will not be valid
Only passing `sc.executorEnvs` here to the `command` object here is not enough. Because we only use `command` with `CommandUtils.buildCommandSeq` below to generate the command line string, and in this case, `command.environment` is only used to run `bin/compute-classpath` (see [here](https://github.com/apache/spark/blob/b21ae5bbb9baa966f69303a30659aa8bbb2098da/core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala#L69-L71)), not propagated to the target executor process.