[contactsd] Do not convert stored contact IDs unless required

Conversion between string and QContactId is expensive. We can avoid
this in many cases, since most sync operations do not involve the
majority of contacts.
[contactsd] Do not re-store unchanged export data

If an export operation does not modify the data read in from OOB
storage, do not write the unchanged data out on completion.
[contactsd] Use more efficient sync data loading option

The contacts sync adapter class now allows data loading to be deferred
until known to be necessary. The exporter plugin can make use of this
new option.
Merge pull request #72 from matthewvogt/optimize-unchanged

Optimize contacts export to reduce ineffective effort