Additional Work on Groups

 - Clean up group model in server.
 - Improve groups client interface.