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.
could be better as:
```ruby
def users_for_gid(gid)
  return [] unless group_exists?(gid)
  search = @ldap.search(:base   => @ldap.base,
                        :filter => @member_service.group_filter(gid)).last

  method = [:member, :ismemberof, :memberof, :memberuid].find { |m| search.respond_to? m } or
      raise 'some helpful error message'
  members = search.send method
  @member_service.get_logins(members) # accepts empty array
end
```
original would blow up on undefined `empty?` method on nil.