Add DnsSrvConnectionStrategy.

Remove ConnectionStrategies and put impls in separate classes.
Add unit tests.
Fixes #5.

DnsSrvConnectionStrategy uses JNDI to query a DNS server for SRV records.
ConnectionConfig#ldapUrl should be set to the SRV record name, i.e. '_ldap._tcp'
Implementation follows RFC 2782 for leveraging priority and weights for each host.
Implementation also supports a TTL to reduce excessive DNS queries.