join: Don't add delimiter if only null-values are left

Looks like a nested loop that introduces polinomial complexity,
but the inner loop advances the outer loop as well.

Fixes Redmine #6552
You understand it correctly. With a local `more`, we'd call `strcmp` twice on every list entry that we don't skip through the while loop. Since the majority of lists out there are not full of null-entries, this would double the amount of `strcmp` calls unnecessarily.