Authenticate LDAP users in the grack module - fixed problems - tested code

This is based on the Pull Request #3141 from @jasl8r and Pull Request #3470 from @drahamim. I added the ideas from @randx 

 * I added the require to the top of the file (taken from #3470)
 * I moved the ldap authorization check in a separate method
 * I fixed the password check problem in #3470 
 * I tested the code with ldap and email users with correct and wrong passwords and non-existing users. I think this works.

So this will add LDAP Authentification in the grack module. With this I can push via https for users which have LDAP or Email authentification. Discussion about this topic was in #2012 and #2557.