MINOR: connection: don't remove failed handshake flags

It's annoying that handshake handlers remove themselves from the
connection flags when they fail because there is no way to tell
which one fails. So now we only remove them when they succeed.
3 files changed