Auth method pinning

Pins the authentication mechanism priority used on the first connection with a given account. Afterwards, if the server presents an auth mechanism list with only lower security grade mechanisms, fail and assume it's a downgrade attack.

This uses an arbitrary "priority" instead of the auth mechanism itself so that we can fallback to authentication mechanisms of equal security value in future if required.

## Security considerations

Like any pinning scheme this is a trust-once security model. The first time you connect, you still have to trust that the connection is free from malicious interference.