Digest MD5 SASL mechnism with tests