[SPARK-611] [WIP] Display executor thread dumps in web UI

This patch allows executor thread dumps to be viewed in the Spark web UI.

Thread dumps obtained from Thread.getAllStackTraces() are piggybacked
on the periodic executor -> driver heartbeats.  JobProgressListener
stores these heartbeats for display in the UI.

One current limitation is that the driver thread dumps are not viewable
except when running in local mode.

This is [WIP] pending a few issues which I'll comment on inline.
While working on this, I noticed that the links to view the driver thread dumps weren't working.  In `local` mode, it looks like we weren't using the same name for the local executor id in this Executor and in the driver's SparkEnv, so I fixed that here.