track total bytes written by ShuffleMapTasks
add TimedIterator
Shuffle Fetchers use a timed iterator
task context keeps a handle on Task -- giant hack, temporary for tracking shuffle times & amount
cogrouped RDD stores the amount of time taken to read shuffle data in each task
BlockManager.getMultiple returns a custom iterator, to enable tracking of shuffle performance
track remoteFetchTime
add as many fetch requests as we can, subject to maxBytesInFlight
setup plumbing to get task metrics; lots of unfinished parts, but basic flow in place