Group master can manage group members

In the current implementation only __Group Owner__ can manage users within a group.

This change will grand __Group Master__ to manage users within a group. It will also prevent a master to add a user with a higher access role then it's own (__Master__ cannot create __Owner__, only __Owner__ can create __Owner__).

Use case for this change is a distributed teams where you have localized managers who are responsible for group setup but should not be able to do operations like deletion of repositories.
use readable variable names. No `k`, `v`, `a`, `x`, `y`