Handling of groups with cyclic references

This addresses the hanging problem when you have security groups in the AD that happen to have cyclic references to each other. For example, you might have a group that is member of itself. For such cases, the getGroupMembershipForDN function would hang in a recursive loop.

The proposed solution, accumulates the nested groups as they are recursively uncovered and ignores already mapped groups.