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