SPARK-2565. Update ShuffleReadMetrics as blocks are fetched

Can we make getNewShuffleReadMetrics() or something a function in TaskMetrics that does this?  I think it would be better to have TaskMetrics handle the synchronization, because it makes it more obvious to someone reading / modifying the code later what the concurrency properties of depsShuffleReadMetrics are.