[SPARK-4673][SQL] Optimizing limit using coalesce

Optimizing limit using coalesce to avoid shuffle.
Probably we can ignore the `shortBasedShuffleOn` conditional checking. What do you think?