saslserv/main: destroy session when login_user() fails

Since authentication is over, the mechptr must be unset; otherwise, if
the client gets rejected due to login_user() failure and wants to try
again, it will receive a bogus failure:

    [first attempt]
    -> :3CH ENCAP * SASL 3CHAAAABU * S PLAIN
    <- :01A ENCAP chary.rain SASL 01AAAAAAF 3CHAAAABU C +
    -> :3CH ENCAP * SASL 3CHAAAABU * S AHRlc3RlcgB1dHZ1amViZmJwZHQ=
    saslserv :3CHAAAABU failed LOGIN to tester (frozen)
    <- :01A ENCAP chary.rain SASL 01AAAAAAF 3CHAAAABU D F
    [second attempt]
    -> :3CH ENCAP * SASL 3CHAAAABU * S PLAIN
    <- :01A ENCAP chary.rain SASL 01AAAAAAF 3CHAAAABU D F
    [third attempt]
    -> :3CH ENCAP * SASL 3CHAAAABU * S PLAIN
    <- :01A ENCAP chary.rain SASL 01AAAAAAF 3CHAAAABU C +

This change also matches the existing behavior of destroying SASL
session after any other auth failure.