Add support for reconnecting after initial connect

Now, if the server closes whilst you are connected to the server, then
we try and repeatedly reconnect. This is for asyncio. Twisted backend
had this built-in.