Move foreman LDAP functionality to ldap_fluff

Most logic comes from here: https://github.com/theforeman/foreman/blob/develop/app/models/auth_sources/auth_source_ldap.rb 

and https://github.com/theforeman/foreman/pull/529 , which this PR is meant to facilitate.
How does this handle nested groups?  It looks like it'll only handle users that are immediate members of the group.