Replace Tracker backend with SQLite

Sorry about the huge diff, and the slightly messy commit history.

This entirely removes the use of tracker and sparql from libcommhistory, and adds a sqlite database instead. Behavior changes were kept fairly minimal, so there's a lot of room to clean up in the future by removing unused fields and fixing strange behaviors.

Notable changes:
 * No tracker, no sparql :)
 * All deprecated inbox-style models are removed
 * soversion bumped due to dramatic API/ABI changes
 * Tests no longer use a static library build
 * All contact resolving is asynchronous, and not very well cached. This will be improved soon.
 * SMS messages will actually be deleted, instead of being flagged as deleted and stored forever(!)
 * Assorted low-level API changes

Regressions:
 * All operations are done synchronously, and the async and streamedasync modes are ignored. This will be fixed in a better way later.
 * The models do not currently support fetchMore; they will return all results immediately
 * Message parts and some other MMS-specific functionality is broken

Known bugs:
 * ContactGroupModel does not handle asynchronous contact resolving correctly in all cases
 * ClassZeroSMSModel and anything relying on fake events having a non-negative ID may be broken
 * Phone numbers will be compared in some places directly as strings

Unit tests should pass, with the exception of contacts-related tests and classzerosmsmodel. A commhistory-daemon patch will be coming shortly. I'm not aware of any other packages requiring changes.