Add support for modern crypt() algorithms, with random salt.
Specify which algorithm to use via the existing defaults.mailbox.password_scheme
The following algorithms are supported:
    crypt:md5
    crypt:blowfish
    crypt:sha256
    crypt:sha512

Borrowed some GPL3+ code from RoundCube:
https://github.com/roundcube/roundcubemail/blob/master/plugins/password/drivers/sql.php