[libcontacts] Prevent retrieval loop

Move the contact ID for which we have already retrieved constituents
to a separate list, so that we cannot trigger another fetch for
constituent IDs while waiting for the constituent details to be
retrieved.