https://fedorahosted.org/sssd/ticket/1006
Instead of saving each group as we fetch it from LDAP during initgroups,
just build the membership diff in-memory and the perform three
transactions:
* save the groups if not cached already
* save the intergroup memberships
* save the user membership to his direct parents
[PATCH 1/3] Utility functions for LDAP nested schema initgroups
These will be used later on
[PATCH 2/3] Use fewer transactions during RFC2307bis initgroups
Save the groups to a hash table and save them in three transactions
later
[PATCH 3/3] Use fewer transactions during IPA initgroups
No need for a hash table because we can grab all the groups in a single
request. Just save them in a way similar to RFC2307bis initgroups