must pass mutable local variables into Thread.new

see http://stackoverflow.com/q/16745840 for details
make connections to tork subprocesses self-healing

When a tork subprocess terminates, its parent process now replaces it
with a fresh instance.  Thus the tork process tree is now self-healing.
socket files were always deleted: even if not ours

If a tork instance was already running and a new tork instance was
started up in the same directory, then the latter would always delete
the common socket files (currently belonging to the former) upon exit.
drop socket retry logic: self-healing does it now
become remote to existing instance on socket fail

If an another instance of this tork program is already running, then
become a remote to it rather than failing on binding its socket file.