[performance] in queryContacts, only load wanted details

This commit adds a check on the detail type to the query in queryContacts.
It means doing an extra string comparison in sqlite, but that's faster
than processing extra rows in QSqlResult.

The check is not done if the detailTypes hint is empty, because
in that case (nearly) all the rows will be loaded anyway.
Merge pull request #182 from amtep/master

[performance] in queryContacts, only load wanted details