Updated Spark job UI to display the collected metrics in blocks

This is a consolidated version of Spark Metrics UI PR which are following: 

https://github.com/caskdata/cdap/pull/677
https://github.com/caskdata/cdap/pull/662
https://github.com/caskdata/cdap/pull/651

And changes by @gsps1 to fix the UI bug which aggregates the  metrics across runIDs.

The above is already review. So, I think it is good to go. I have tested the UI on  my end and it works good.

I have to create this everything was all over the place with lots of conflicts. 

Waiting for someone's second opinion on LGTM.