Unify License term
[WIP] ACK prototype works
Extract recv_with_timeout

divide error checks into check of timeout and check of ack
Add receive_response_timeout option
Change argument type

proc  ->
block
Fix: access log by @log

$log ->
@log
Send response also when receiving Forward or Message
Add tests for ForwardInput to respond or not to respond

But in some cases, socket is closed before response has been read.
So something needs to be fixed.
Fix: sending data need to include option
for tests
Regard those nodes that do not respond as unavailable
Detach watchers from loop only when they are attached

A watcher of connection socket is somehow mistakenly detached but rest
in @watchers when another watcher is detached.
 Specify serializer and define method :respond
Define method :respond statically
Use IO.select to wait for response because of simplicity of code and compatibility with ForwardOutput
Combine recv_with_timeout into send_data to disable nodes
Add ForwardOutputResponseError, and do not raise errors when no response has arrived
Remove debug log
Output response log
Rename config param

receive_response_timeout ->
wait_response_timeout
^^^^