groups: port missing functionality

* Implement user group manage function

* Add filter on list of group that user can join.

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
This is important. Because we would like to show also groups obtained via *SSO*.