Fixed a bug that caused sessions to get overwritten and some of them
would seem to freeze, the whole thing relied on undefined behavior.
This bug was a static variable that copied sessions all around globally.
Rewrote the config to support a few more options (the PasswordType is coming soon)
and explained how the new authorized_users files work.
Public key authentication now has the same number of retires that
password authentication has (this aligns with how OpenSSH does it)
and the number of retries can now be configured in the configuration.
Each user can have a set of authorized keys for public key authentication.
This is better to support as it lets us use different algorithms and not
just RSA. In the age of security, it's good to have variety.
I also added additional libraries to support ed25519-based public keys.
I updated the SSH libraries so any upstream bug fixes are applied, fixed
some warnings and a few other things.