[WIP] SPARK-2450 Adds exeuctor log links to Web UI

Creates a general way to add log links to the executor
page in the web UI.

This is achieved by:

1) Adding two new spark listener events: onExecutorAdded and onExecutorRemoved(this is only for symmetry). The events carry some executor information including log url locations.

2) Utilizing environment variables to pass the log urls to the executor backend. The prefix is: SPARK_LOG_URL_

Since each cluster manager exposes logs in different ways, we use the environment variable prefix as described above to prevent us from subclassing the CoarseGrainedExecutorBacked.

This is a work in progress and as such, there are minimal unit tests. In addition log urls are only propagated for yarn-client and yarn-cluster mode. With minimal work, adding log url propagation for standalone mode is also possible.
This could just take in `containerId`. It would also be very, very nice if you could add the java docs to this method (not necessarily related to this patch but it would be great to incrementally improve the documentation in this corner of the Spark code)