[qtcontacts-sqlite] Do not skip bind of empty display label

Otherwise, the last unrelated value bound to that location will be
incorrectly re-used.
Merge pull request #109 from matthewvogt/correct-display-label

[qtcontacts-sqlite] Do not skip bind of empty display label
Fix autotest broken by change to store date for birthday details

Birthday details were converted to store date information only, to
remove the relevance of timezone from the stored data.
[qtcontacts-sqlite] Simplify reader/writer instantiation
[qtcontacts-sqlite] Support functions for two-way sync adaptors
Use typedef to simplify declarations
[qtcontacts-sqlite] Report changed sync targets
Fix composition of gender detail update
[qtcontacts-sqlite] Create interface for out-of-band storage

Allow clients to store out-of-band data in the contacts DB, which will
be kept in sync with contacts data manipulations.
Use definition mask to minimize writes during aggregation.
Avoid conversions from internal to API ID when calling readContacts
Remove obsolete TODO
Rearrange SQL query for improved consistency.
[qtcontacts-sqlite] Fix aggregation query where subject contains multiple details

The old version did not expand correctly where the subject contained
more than one email address, or phone number, or online account.
Remove unused timestamp parameter
[qtcontacts-sqlite] Use temp table to find modifiable details
Remove invalid TODO comments
[qtcontacts-sqlite] Ensure detail comparison verifies key/value matches
[qtcontacts-sqlite] Remove obsolete context type definitions

These values are no longer used.