Add ability for user to specify environment variables
fix typos
Merge pull request #867 from tgravescs/yarnenvconfigs

Spark on Yarn allow users to specify environment variables
Add YarnClientClusterScheduler and Backend.

With this scheduler, the user application is launched locally,
While the executor will be launched by YARN on remote nodes.

This enables spark-shell to run upon YARN.