SPARK-1972: Added support for tracking custom task-related metrics

Any piece of Spark machinery that cares to track custom task-related metrics can now use the setCustomMetric(name,value) method on TaskMetrics to do that.
The StagePage in UI now shows Custom Metrics for every task.