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
array from the set is necessary on group update because of the following:

on group update, the UI uses the list of textsecure identifiers to highlight the contacts who have phone numbers that match textsecure ids, but duplicate contacts can be present where more than one contact has the same phone number listed. this gets rid of these duplicates.