Use an accessor instead of ivar access.

This is step 1 in allowing me to customise the way the LDAP connection
is created when requested.
Pull LDAP configuration/connection together
Store the config and options for later use
Params is also ldap_options
I have no idea why we're performing the temporary assignment
Provide my own reader
Connect on demand
Extract connection to a wrapper
Implement failover
Retry on more errors.

The Errno::* series are subclasses of SystemCallError which is a StandardError
and will be cause by an unadorned rescue statement.
Reraise error after trying all servers
Spec for different exception message
Apply PR comments
Merge pull request #1 from simplybusiness/ldap_failover

Ldap failover