[SPARK-3074] [PySpark] support groupByKey() with single huge key

This patch change groupByKey() to use external sort based approach, so it can support single huge key.