[libcontacts] Update changed contacts progressively

Update contacts in small batches to prevent blocking the UI thread.
[libcontacts] Append contacts to model progressively

Avoid blocking the UI thread when the cache is populated after process
startup.
[libcontacts] Do not emit change notifications during initial contact insert

When a contact is first loaded into the cache, no listener can yet be
interested in changes to that contact.
[libcontacts] Use backend display label in preference to address detail

When generating a display label for a contact, use the display label
provided by the backend in preference to any of the direct address
elements in the contact.
[libcontacts] Update modified contacts individually rather than in batches

Processing even a single changed contact can consume all the available
time between UI frames, if it causes QML bindings to be re-evaluated.
Merge pull request #57 from matthewvogt/progressive-indexing

Progressively update/append contacts to the cache to avoid blocking UI
Merge pull request #63 from matthewvogt/display-label-precedence

[libcontacts] Use backend display label in preference to address detail
[libcontacts] Handle presence updates independently

qtcontacts-sqlite allows clients to handle presence change notifications
separately from other contact change notifications.
[libcontacts] Optimize fetching of presence updates
[libcontacts] Remove sorting from incidental fetch queries

The order of contact processing in update queries has no relevance.
[libcontacts] Do not sort refetch contact details

Sorting has no effect after the models are initially populated.
[libcontacts] Stop pretending that we support multiple engines

libcontacts will only work correctly with the qtcontacts-sqlite
contact manager engine; remove the use of the NEMO_CONTACT_MANAGER
environment variable from qt4 code.