must pass mutable local variables into Thread.new

The `icon` local variable would be overwritten (to nil sometimes)
outside of the thread and cause the thread body to silently fail.

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
fail earlier on socket bind: avoid wasted overhead

Before this patch, tork-master(1) would first pay the price of absorbing
the test execution overhead before trying to bind its socket.  In case
of socket bind failure, the process would exit and the overhead wasted.
server: @client is only used by recv() and onwards
server: don't call method for empty command array

This error would occur when pressing ENTER in tork-remote tork-driver:

tork-driver: #<ArgumentError: no method name given>
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:74:in `recv'
tork-driver: /home/skurapati/lab/tork/lib/tork/driver.rb:64:in `recv'
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:46:in `block (2 levels) in loop'
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:37:in `each'
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:37:in `block in loop'
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:35:in `catch'
tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:35:in `loop'
tork-driver: /home/skurapati/lab/tork/lib/tork/driver.rb:21:in `loop'
tork-driver: /home/skurapati/lab/tork/bin/tork-driver:173:in `<top (required)>'
tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `load'
tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `<main>'
herald: listen 2.2.0 is non-blocking and absolute

* Calling #start no longer blocks the caller.

* The :relative_paths option no longer works:
  https://github.com/guard/listen/issues/170
downgrade to listen 1.x: restores ruby 1.8 support