[commhistory-daemon] Refactor notification handling

I made a few changes.

They are separated into three distinct high-level changes:
 * Use ContactListener instead of directly using QtContacts and trying to imitate all of that logic
 * Refactor code with a more reasonable and robust structure to make the logic easier to understand
 * Port to nemo-notifications instead of MNotification, and reload persistent notifications from their metadata rather than a separate cache file

Please let me know where things need to be explained in more detail. The first commit, marked WIP, disables the unit test entirely. I am still looking into what to do with that, but we can get reviews started anyway.

Requires https://github.com/nemomobile/libcommhistory/pull/51