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.
Is it possible a case when `UsersGroup.where(user: current_user, group: group).first` returns nil? Ex when `admin` without group membership access this page? Because in this case `nil.access_roles` will raise exception