[server] Reconnect peer when receive a new handshake.

In the old code, a new handshake will be discarded if the peer
is already "connected". However, a new handshake from client
usually means the client detects some network error. Peer on
the server is still "connected" because keepalive has not timed out.
So it's more reasonable to shutdown the peer and reconnect it.