[SPARK-2260] Fix standalone-cluster mode, which was broken

The main thing was that spark configs were not propagated to the driver, and so applications that do not specify `master` or `appName` automatically failed. This PR fixes that and a couple of miscellaneous things that are related.

One thing that may or may not be an issue is that the jars must be available on the driver node. In `standalone-cluster` mode, this effectively means these jars must be available on all the worker machines, since the driver is launched on one of them. The semantics here are not the same as `yarn-cluster` mode,  where all the relevant jars are uploaded to a distributed cache automatically and shipped to the containers. This is probably not a concern, but still worth a mention.
This actually handles quoted strings, spaces, backslashes, and a combination of all the above (I have tested this). This is because we pass around these options as a sequence of strings before using them in commands.

I still need to verify the same for YARN.