Handle empty domain segments correctly in idna (fixes #255)
Spec asks us to "Otherwise join the labels using U+002E FULL STOP as a
separator". The current code checking if the result was non-empty would
fail if the segments themself were non-empty. It should be equivalent to
`.split('.').map(.. processing ..).join('.')`. Implementing it
procedurally since the code is already pretty procedural.