membership: list child and parent groups (#107)

* Group page shows child and parent groups

* moved recursion as a helper

* reworked several funcs to return directly Group type

* added TransitiveGroups on homepage

* added circular reference detection

* improved performance of transitive groups

* minor fix

* GetAllTransitiveGroupsForGroup parameter changed to string

* cover getting transitive groups with unit test

* recursion logic needs fix

* refactor: reuse code for processing user/group transitive groups

* recursion fix

---------

Co-authored-by: Giorgi Lekveishvili <lekva@gl-mbp-m1-max.local>
diff --git a/core/auth/memberships/.gitignore b/core/auth/memberships/.gitignore
index 4042c7b..6ce208d 100644
--- a/core/auth/memberships/.gitignore
+++ b/core/auth/memberships/.gitignore
@@ -1,2 +1,2 @@
-# Exclude SQLite database file
 *.db
+memberships*