Optimize LDAP and add a search timeout
Related to #4282 (moved)
This merge request arranges some things in access.rb
to facilitate some optimizations in EE (to come later). It also adds a 10 second timeout to all LDAP searches so the entire worker is not blocked if some query doesn't return in a reasonable amount of time. This timeout is configurable per LDAP server.