rebase: refactoring
Separate rebase-specific functions, in order to provide a better base to
extend rebase's capabilities.
Note that this will be useful especially to share functions with 'adapt'.
commands: allow --closed even for topological heads displays
But it actually only starts working later on.
util: make spawndetached() handle subprocess early terminations
The file-based synchronization introduced by
e22695b4472f hangs when the child
process fails before terminating the handshake, which the previous pipe-based
version handled correctly. To fix this, the parent polling loop was fixed to
detect premature terminations of the child process.
zeroconf: do not try to encode encoded strings (
issue1942)