[SPARK-4092] [CORE] Fix InputMetrics for coalesce'd Rdds

When calculating the input metrics there was an assumption that one task only reads from one block - this is not true for some operations including coalesce. This patch simply increments the task's input metrics if previous ones existed of the same read method.

A limitation to this patch is that if a task reads from two different blocks of different read methods, one will override the other.
Yeah that makes sense. The original proposal was just trying to isolate this logic to HadoopRDD and simplify the input metrics interface. However, given the interfaces exposed by Hadoop I don't think it's very easy to do that so we'll have to leak this into the general way that input metrics are computed (and use callbacks).