Digest md5 support

Code organisation is awful, should be moved into separate packages for PLAIN and DigestMD5