Make it possible to modify contacts
Summary:
Includes a vcard field so that backends can feed all of the data through
it.
Introduces the AbstractEditableContact that when subclassed it will be
able to edit contacts by overriding setCustomProperty.
The vcard was introduced because I'd expect contact applications using
the vcard data as an interface rather than implementing every property
one by one.
Test Plan: Modified my contacts several times using plasma-phonebook.
Reviewers: Frameworks, jbbgameich, bshah
Reviewed By: jbbgameich
Subscribers: kde-frameworks-devel
Tags: Frameworks
Differential Revision: https://phabricator.kde.org/D22968