Allow timeouts to be set for the ldap dial and handle the handshake with tls.client that supports timeouts rather than DialTLS.  Currently using flags to set the timeouts to not cause a breaking change in the function params.
Allow timeouts to be set for the ldap dial and handle the handshake with tls.client that supports timeouts rather than DialTLS.  Currently using flags to set the timeouts to not cause a breaking change in the function params.

divolgin/ldap,apprenda-kismatic/kubernetes-ldap,jamesfcarter/ldap,retailnext/ldap