Fix reconnect logic so only successful connections are accepted

NettyTcpClient.createReconnectListener currently accepts a connection
regardless of whether or not it connected successfully. This leads to
the Consumer<TcpConnection> registered with the Stream being driven
multiple times and with TcpConnections that are not connected.

This commit updates NettyTcpClient.createReconnectListener so that
only successful connections are accepted.

Fixes #162