Implement user lookup on authenticate

If the search_base is not defined or not correct for the user being
authenticated and a search user and password is given and is correct,
attempt to lookup the user's DN and authenticate as the found DN with the
given password.