analytics: remove lock

Remove the lock and use a notification queue instead. This should remove the contention.
We can now also get rid of superfluous refreshes by treating the queue as a set (per event type
and account).

Misc. bug fixes:

* Overdue is now at the account level only
* Fix potential NPE in BusinessFieldFactory

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>