[SPARK-2571] Correctly report shuffle read metrics.

Currently, shuffle read metrics are incorrectly reported when stages have multiple shuffle dependencies (they are set to be the metrics from just one of the shuffle dependencies, rather than the accumulated metrics from all of the shuffle dependencies).  This fixes that problem, and should probably be back-ported to the 0.9 branch.

Thanks @ryanra for discovering this problem!

cc @rxin @andrewor14
The test I changed in SparkListenerSuite tests this problem (since before the test only checked that the value is > 0, and I changed it to test for the correct value -- the updated test fails with the old code).  Were you thinking to break this issue out into its own test?