make sure to not drop writes on close
make sure to not drop writes on close

Before, on close, we:

1. Weren't completing the write.
2. Flushing the buffer without waiting the latency delay.

This fixes that by using two separate channels for close/reset and ignoring the
close channel in deliverOrWait.

libp2p/go-libp2p,libp2p/go-libp2p,ipfs/go-libp2p