Group functionality: group avatars, group updates (full support), group leaves

group functionality: 
• group avatar support 
• group update support (full comptibility iOS/android)
• group leave support
there are now two constructors. we keep track if an attachment should be associated with a group id as its avatar. this allows us to keep the same method calls/attachment upload api while keeping track fo where to put the avatar when the upload is finished