transport.readLine seems to be blocking forever when socket closed.
Consider following example:
```nim
import asyncdispatch2

var transport: StreamTransport

proc looper() {.async.} = 
  while true:
    var data = await transport.readLine()
    if data.len == 0:
        echo "No data, disconnected(?)"
    echo "Got data", data


if isMainModule:
  proc demo() {.async.} =
    transport = await connect(resolveTAddress("127.0.0.1:5000")[0])
    asyncCheck looper()
    echo "post looper"
    waitFor sleepAsync(1)
    close(transport)
    echo "Closed"
  waitFor demo()
  runForever()
```

If you will run it against any "echo" server running on localhost:5000 you should see:
```
Waiting for data
post looper
Got data
Waiting for data
Closed
```

I'm pretty sure that readLine should return empty read when socket is closed especially that https://github.com/status-im/nim-asyncdispatch2/blob/f4f98d617c067ed590d7cd2fd761134d81376a1b/asyncdispatch2/transports/stream.nim#L1069 says that it should read whatever have been left when EOF received.