Add group joining functionality

Add service to join a group. Add service errors that might be returned
due to the user trying to join a non-existing group or a user trying to
join a group which parent he is not a member of.