[libcontacts] Ensure we don't process retrieved contacts multiple times
[libcontacts] Use internal IDs for contact sequence management

The strings used in Qt5Contact contact IDs are very slow to compare.
Cache the sorted index of contacts

Otherwise all our ID-based lookups require a traversal.
Reduce conversions between contact ID types
Merge pull request #35 from matthewvogt/jb9408

Reduce effort in managing contact lists
[libcontacts] Do not modify name groups during list sync

List synchronization occurs as a result of sorting changes, not grouping
changes.
Merge pull request #36 from matthewvogt/fix-name-group-count

[libcontacts] Do not modify name groups during list sync
Update exported pkgconfig version
[libcontacts] Find merge candidates with short form names

Also exclude contacts with the wrong gender, if the gender of the match
is known.
Merge pull request #37 from matthewvogt/short-forms

[libcontacts] Find merge candidates with short form names
[libcontacts] Remove address indexing for deleted contacts
Merge pull request #38 from matthewvogt/remove-addresses

[libcontacts] Remove address indexing for deleted contacts