Multiple LDAP Server Configurations Support

This is to help with scenarios where you'd want the user who is getting authenticated to decide which LDAP Server they'd like to authenticate with. 

The Multiple LDAP Server configurations can be stored in a Database and the required configuration to authenticate with can be fetched based on the user's request.

```
var getLDAPConfiguration = function(req, callback) {
    //Fetch the required configuration from DB
    var opts = fetchConfigFromDB(req.body.ldapServerId); 
    callback(null, opts);
  });
};

var LdapStrategy = require('passport-ldapauth').Strategy;

passport.use(new LdapStrategy(getLDAPConfiguration,
  function(user, done) {
    ...
    return done(null, user);
  }
));
```
Please see if you could [detect given function signature](http://stackoverflow.com/questions/4833399/how-to-detect-a-javascript-function-with-a-certain-signature-has-been-registered) and if the given function only accepts the callback print a deprecated-message and call without the `req`. Also, please include tests for both one and two parameters. This way the change would not be a breaking one and we can then remove the callback only -branch when making a bigger version bump.