Close the channel directly on IOSelector

The store pipeline doesn't close from IOSelector. Call transport.close()
from load pipeline if store pipeline operation is required.
Fix timeout handling

Wait specified time or until interrupted if timeout > 0.
Wait until interrupted if timeout < 0.
Do nothing if timeout == 0.
Add sample and fix framing by delimiter