* @brief Associate the internal IDs for an array of contacts with a specific metaContact
*
* This does not actually place any AIListContacts within the metaContact. Instead, it updates the contactToMetaContactLookupDict
* dictionary to have metaContact associated with the list contacts specified by containedContactsArray. This
* allows us to add them lazily to the metaContact (in contactWithService:account:UID:) as necessary.
*
* @param metaContact The metaContact to which contact referneces are added
* @param containedContactsArray An array of NSDictionary objects, each of which has SERVICE_ID_KEY and UID_KEY which together specify an internalObjectID of an AIListContact
* @brief Groups UIDs for services into a single metacontact
*
* UIDsArray and servicesArray should be a paired set of arrays, with each index corresponding to
* a UID and a service, respectively, which together define a contact which should be included in the grouping.
*
* Assumption: This is only called after the contact list is finished loading, which occurs via
* -(void)controllerDidLoad above.
*
* @param UIDsArray NSArray of UIDs
* @param servicesArray NSArray of serviceIDs corresponding to entries in UIDsArray
* @param metaContactHint If passed, an AIMetaContact to use for the grouping if an existing one isn't found. If nil, a new metacontact will be craeted in that case.