Patch for SASL SCRAM-SHA-1 (thanks to Stephen Röttger)(EJAB-1196)

Works with internal (mnesia) storage.

Conflicts:
	apps/ejabberd/src/cyrsasl_anonymous.erl
	apps/ejabberd/src/cyrsasl_digest.erl
	apps/ejabberd/src/cyrsasl_plain.erl
	apps/ejabberd/src/ejabberd_c2s.erl
	src/ejabberd.app
	src/ejabberd_auth_ldap.erl
	src/ejabberd_auth_pam.erl

Fix and improve support for SCRAM auth method (EJAB-1196)

Conflicts:
	apps/ejabberd/src/ejabberd_auth.erl
	apps/ejabberd/src/ejabberd_auth_internal.erl
	rel/files/ejabberd.cfg
	src/ejabberd_auth_ldap.erl
	src/ejabberd_auth_pam.erl
	src/ejabberd_piefxis.erl
adjust SCRAM related changes to Mongoose
change place from auth_failed hook is run
small performance improvements in jlib
store scrammed passwords in database
Fix post-rebase leftovers for SCRAM
Fix invalid match order in auth_internal
Move SCRAM-related functions to scram.erl
Add config option for SCRAM iteration count
use master branch of ejabberd_tests
Merge pull request #171 from esl/scram-rebase

SCRAM SHA1 authentication for mnesia and ODBC