[qtcontacts-sqlite] Allow aggregation from the same synctarget

Previously, the aggregation heuristic assumed that no two contacts
from the same sync target could be the same person.  This is wrong,
as in some cases (eg, Telepathy rosters) several contacts may be
the same person but still come from the same sync source.

Since we do drastically more aggregation queries now, the aggregation
heuristic was also improved so that fewer table scans were performed
as part of aggregation.
Merge pull request #77 from chriadam/aggregation

[qtcontacts-sqlite] Allow aggregation from the same synctarget