[qtcontacts-sqlite] Aggregate using only nickname where real names are absent

If a contact has a nickname and no other name details, we should find
aggregate matches by exact match of nickname.  This is particularly
relevant for SIM contacts, which have a nickname and no other details
(besides a number).

When creating a local representation of an aggregate, we must also handle
the case where the original contact has no name details, and only a nickname
detail.  In this case, the local must be identified by the nickname, or
it will easily become unidentifiable if detached from its original
aggregate.