Spark on Yarn allow users to specify environment variables 

This adds the ability for spark on yarn users to specify environment variables.  These are passed to the launched processes (master/executors).  One of the main use cases I'm looking at for this is for the user to be able to choose  which java version and architecture (32 bit or 64bit) to use by specifying the JAVA_HOME variable.