Contacts can have unique ID's

ContactImpl updated so that each contact object has a unique ID.
ContactManagerImpl updated to avoid duplicates in the contacts set.