SPARK-2566. Update ShuffleWriteMetrics incrementally

I haven't tested this out on a cluster yet, but wanted to make sure the approach (passing ShuffleWriteMetrics down to DiskBlockObjectWriter) was ok
There is a bit of a mismatch in this function signature, the doc says "This is currently used for writing shuffle files out.", but the shuffle write metrics are optional. I think the doc is just stale, because we now use this in other cases where we might not be writing out shuffle data, so can you just remove that line from the doc?