Made digest NewClientFromChallenge return error on wrong challenge. Split Scram into Client and Server parts