Configuration to allow userdn to be based on search

By adding the configuration option ldap_special, this allows for getting the DN needed to authenticate via LDAP if the usercn is not known.  In our case, to authenticate against ldap, the DN needs to have the UID for the user, which can be obtained by searching the directory based on the email.  This change allows for specifying the attributes (comma separated list) and the search criteria (right now mail is only supported with mail=$email = the $email specifies what the code will substitute in for the search string (probably should be something like "$username"