Support static nested groups in LDAP

This refers to groups that have member: <another group DN> as an attribute
- Add in a utility method in the SpringSecurityLdapTemplate to retrieve multiple attributes and their values from an LDAP record
- Make the DefaultLdapAuthoritiesPopulator more extensible
- Add an LdapAuthority object that holds the DN in addition to other group attributes
- Add a NestedLdapAuthoritiesPopulator to search statically nested groups
Yes, on my system, if you don't specify 127.0.0.1, my LDAP server automatically binds to IPv6 only, so ::0, and then the other code attempts to connect to 127.0.0.1, but nothing listens. Alternative is to replace 127.0.0.1 with 'localhost' in all places, and let the system determine ipvX version itself