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
Just as a note, if you don't want the result of this, use `foreach`, not `map`. `map` will return an Option[Long] in this case but we aren't assigning it to anything.