* Add public field to AuthGroup
* Add permission for users to join non-public groups
By default this permission will be applied to the "Member" group to
maintain the current behaviour.
* Allow users to join public groups
Users without the 'groupmanagement.request_groups' permission will be
able to join groups marked as public but will not be able to see or join
any other groups.
* Prevent None state change from purging groups
Currently when a user drops from Blue or Member state all groups and
permissions are discarded. This softens that approach by not removing
public groups and creates a distinction between the two activities. An
argument could maybe be made for not removing permissions on a state
change, but that is beyond the scope of this change.
* Correct syntax for removing filtered groups
* Add unit tests for disable user and member
* Update services signals tests
* Correct mocking call
* Remove permissions checking from menu item