SASL SCRAM-SHA-1 module

As result of poorly timed coffee cup and in the interest of supporting secure _and_ standard SASL mechanisms (so that there are better chances of clients implementing them), I've implemented the [SCRAM-SHA-1 (RFC 5802)][1] mechanism for SASL.

Currently it's one of the required-to-implement mechanisms for XMPP, where it replaced DIGEST-MD5. It has the advantage of authenticating the server (services) as well, but requires storing the password in a special way.

The mechanism uses PBKDF2-SHA-1 (while crypto/pbkdf2 uses PBKDF2-SHA-512), and currently that's stored raw in Atheme's database, which isn't quite secure – the _mechanism_ itself permits storing just salt + rounds + StoredKey + ServerKey (so that the server doesn't hold password-equivalent information anymore); I just don't know how to make the _module_ do so. Maybe it should be done in the crypto module directly?

[1]: https://tools.ietf.org/html/rfc5802