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>
you can join it with previous `@wash_arguments`.