[libcommhistory] Apply CallModel filters when in tree mode

The filtering options of CallModel were, unexpectedly, ignored when
treeMode was enabled (which is the default). This led to models
containing unexpected data, in one case resulting in deleting all call
events.
Merge pull request #83 from special/callmodel-filtering

[libcommhistory] Apply CallModel filters when in tree mode
[libcommhistory] Added Q_INTERFACES macro

To silence build warning "Class CallProxyModel implements the interface
QQmlParserStatus but does not list it in Q_INTERFACES. qobject_cast to
QQmlParserStatus will not work!"
Merge pull request #84 from monich/q_interfaces

Added Q_INTERFACES macro
[libcommhistory] Fix infinite recursion in CallModel::deleteEvent

When not in tree mode, the base class implementation of deleteEvent
would call the virtual Event& overload in CallModel, which would end up
calling back into the same base implementation. Fix this by properly
calling the base Event& method from the CallModel overload.
Add DraftsModel

This can be used to query draft events related to a list of groups
Clarify draft event handling

Drafts are not visible in ConversationModel, but can be used as the last
event in a group.
Add Group::lastEventIsDraft property

The code duplication here is awful, and the lastEvent properties should
really be combined into a single reference to an Event instead. Those
are refactors for another day, however.

This is equivalent to the isDraft property of the latest event in a
group.
Add declarative DraftEvent object for manipulating drafts

DraftEvent can be used, generally in combination with a DraftsModel, to
read and modify properties of draft events, or create new draft events.
Add DeclarativeGroupManager::ensureGroupExists method

This can be used to find the ID of the group matching a
localUid+remoteUids and create one if not already present.
Merge pull request #86 from special/callmodel-delete

[libcommhistory] Fix infinite recursion in CallModel::deleteEvent
Merge pull request #87 from special/draft-storage

[libcommhistory] Add API for storing and querying draft events
WIP sketching out Recipient API
WIP Implement Recipient and RecipientList
WIP Begin porting Group to use Recipient
WIP Disable tests