[YARN] SPARK-2668: Add variable of yarn log directory for reference from the log4j configuration

Assign value of yarn container log directory to java opts "spark.yarn.app.container.log.dir", So user defined log4j.properties can reference this value and write log to YARN container's log directory.
Otherwise, user defined file appender will only write to container's CWD, and log files in CWD will not be displayed on YARN UI，and either cannot be aggregated to HDFS log directory after job finished.

User defined log4j.properties reference example:
log4j.appender.rolling_file.File = ${spark.yarn.app.container.log.dir}/spark.log


Since this could be used in more then just streaming applications perhaps we should reword this a little.  Perhaps put the information about ${spark.yarn.app.container.log.dir} first and then give the example using RollingFileAppender with streaming.

Something more like: (note feel free to change the exact wording)

If you need a reference to the proper location to put the log files in the YARN so that YARN can properly display and aggregate them, use "${spark.yarn.app.container.log.dir}" in your log4j.properties. For example... (then explain the streaming example).