Groups avatarupdateleave pr

group functionality: 
• group avatar support 
• group update support (full comptibility iOS/android)
• group leave support
am leaving the custom type so that the group change string can be generated on the fly based upon the old group and the new group upon a group update or leave event. for resuable events or strings can later be extracted to localized strings but fundamentally we will want to change the message/store the unique event in the db.