SPARK-2978. Transformation with MR shuffle semantics

I didn't add this to the transformations list in the docs because it's kind of obscure, but would be happy to do so if others think it would be helpful.
can u add some documentation explaining this is functionally similar to doing repartition and then sort within each function, except it is more optimized because we can push the sorting into the shuffle process?