SPARK-2565. Update ShuffleReadMetrics as blocks are fetched

Making depsShuffleReadMetrics private.  shuffleReadMetrics still needs to be set inside of JsonProtocol, so making it private would either require updating it through createShuffleReadMetricsForDependency or adding a setter, both of which seem a little weird to me.  Any thoughts?