[nemo-qml-plugin-contacts] Add detail accessor/mutator functions

For non-composite details, it is vital to know if the content has been
modified from an existing detail, or if it has been added independently.
Add a mechanism of extracting and re-inserting data that allows the
person to record modifications as such, maintaining the value of any
metadata in the detail record that was not directly changed in an edit
operation.
Merge pull request #62 from matthewvogt/detail-editing

[nemo-qml-plugin-contacts] Add detail accessor/mutator functions
[nemo-qml-plugin-contacts] Suppress identical avatar URLs
[nemo-qml-plugin-contacts] Remove extraneous local avatars

We can acquire multiple avatars with 'local' metadata tag via contact
merging, which causes problems.  If this situation occurs, remove the
unwanted avatars.
Merge pull request #63 from matthewvogt/suppress-avatars

Suppress avatars
[nemo-qml-plugin-contacts] Remove assertion

Non-existence of a registered contact ID should not be a fatal condition.
Merge pull request #64 from matthewvogt/remove-assert

[nemo-qml-plugin-contacts] Remove assertion
[nemo-qml-plugin-contacts] Export was_local contacts

They are also part of the local device's contact data.
Merge pull request #65 from matthewvogt/export-was-local

[nemo-qml-plugin-contacts] Export was_local contacts
[nemo-qml-plugin-contacts] Prevent duplication of imported contacts

Rather than re-importing contacts in multiple imports, find matching
existing contacts by GUID or name, and add any missing details to those.
Merge pull request #66 from matthewvogt/import-matches

[nemo-qml-plugin-contacts] Prevent duplication of imported contacts
[nemo-qml-plugin-contacts] Export display name properties of accounts

Update account details to include the display name properties of the
account and the service provider.
Merge pull request #67 from matthewvogt/account-properties

[nemo-qml-plugin-contacts] Export display name properties of accounts
[nemo-qml-plugin-contacts] Correctly prepare phone numbers for searching
Merge pull request #68 from matthewvogt/phone-number-search

[nemo-qml-plugin-contacts] Correctly prepare phone numbers for searching
[nemo-qml-plugin-contacts] Use fallback for primaryName only if secondaryName is empty

Otherwise the fallback is used unnecessarily when the display label
ordering is reversed.
[nemo-qml-plugin-contacts] Add function to prepare search filter data

Allow clients to specify that search filter data should be updated, so
that the first search input does not need to prepare all the filter
data synchronously.
Merge pull request #69 from matthewvogt/jb8956

[nemo-qml-plugin-contacts] Use fallback for primaryName only if secondaryName is empty
Merge pull request #70 from matthewvogt/prepare-search

[nemo-qml-plugin-contacts] Add function to prepare search filter data
[nemo-qml-plugin-contacts] Use importer logic from libcontacts