Refactor notification_ordering to use a hash for notification lookup and insertion

It's inefficient to sort all currently queued notifications whenever a new notification arrives
Update readme
Refactor followers to use sets