Use a basic query builder for event/group properties
Improve CallModel filters API and add account filtering
[libcommhistory] Bump soversion to 1.6.0 due to API/ABI changes
Remove old grouped call query logic from CallModel

This is unnecessary and tracker specific. If further work is required to
make contact grouping in CallModel work later (which doesn't seem to be
the case currently), it won't be done like that.
Minor porting tweaks
Store to/cc/bcc in the headers field rather than separate fields

This matches previous behavior, and makes more sense than trying to
abstract all headers into separate properties (e.g. language).
Fix id of returned event from DatabaseIO::addEvent
Emit eventsCommitted signals after modifying an EventModel
Fix SingleEventModel query building to match test behavior
[libcommhistory] Remove static library build

Tests now use the shared library, and the static library is removed
entirely. To enable tests, CommHistory::Adaptor is now an exported
class, but shouldn't be normally used and shouldn't pose an ABI problem.
WIP Make tests work again

ModelWatcher is tweaked to be usable for signals that are emitted
synchronously (i.e. before ModelWatcher is asked to block for them). It
should probably be rewritten with smarter logic and QTRY_* instead of
its custom loop anyway, and the API changed to make it accident-proof.

Currently, tests may falsely succeed when reset() is not called on the
watcher in some cases.

Only ut_singleeventmodeltest has been modified so far.
Fixup ConversationModel sorting
Fixup DatabaseIO::getEvent failure cases
Fixup getGroups and addGroup tweaks
Fixup removal of static build
WIP Tests build with new ModelWatcher changes
Fix issues uncovered by ut_eventmodel
Fix ut_eventmodel
Fix ut_conversationmodel
Fix behavior of group startTime and endTime

The startTime and endTime of a group are actually the startTime and
endTime of its last event (which is confusing, but regardless). Query
them directly rather than storing them with the group.

The "last event" in a group is actually the event with the most recent
startTime, falling back to descending ID order. Fix the groups query to
obey those rules.

Also fixed the last event ID for groups with no events. It should be -1.