SPARK-3461. Support external groupByKey using repartitionAndSortWithinPa...

...rtitions

This is a WIP.  It still needs tests and probably a better name for the transformation, but I wanted validation on the approach first.