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>'
add tork-runner(1) to run tests once and then exit
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.
tork: show command menu to clients upon connecting