PublicShow sourcenotify.pl -- SWISH notifications

This module keeps track of which users wish to track which notifications and sending the notifications to the user. If the target user is online we will notify using an avatar. Otherwise we send an email.

A user has the following options to control notifications:

Source follow(+DocID, +ProfileID, +Flags) is det
Assert that DocID is being followed by ProfileID using Flags.
Source notify(+DocID, +Action) is det
Action has been executed on DocID. Notify all interested users. Actions that may be notified:
updated(Commit)
Gitty file was updated
deleted(Commit)
Gitty file was deleted
forked(OldCommit, Commit)
Gitty file was forked
created(Commit)
A new gitty file was created
chat(Message)
A chat message was sent. Message is the JSON content as a dict. Message contains a docid key.