Behave more like OpenSSH when authenticating clients.
Behave more like OpenSSH when authenticating clients.

We had been dropping the connection when the auth handler returned
`auth-failed []`, because the empty list `[]` of authentication methods
which can continue means there is no way to authenticate. However, this
connection closing confuses OpenSSH clients, which display an obscure
disconnection message in this case. So, instead, we leave disconnecting
up to the client. The OpenSSH client will disconnect immediately when
`auth-failed []` is received, but other clients may need to be
explicitly kicked after too many auth attempts; this kicking is now up
to the auth handler (a config param of the server).

glguy/ssh-hans