Made PairRDDFunctions taking only Tuple2, but made the rest of the shuffle code path working with general Product2.