[SPARK-4697][YARN]System properties should override environment variables

I found some arguments in yarn module take environment variables before system properties while the latter override the former in core module.
There have been two PRs that tried to "fix" this. The problem here is:

* You cannot create a SparkContext if `spark.app.name` is not set in SparkConf
* With this change, if `spark.app.name` is set, `SPARK_YARN_APP_NAME` will never be used.

The fix, in my view, is to stop supporting these env variables at some point.