refactor of presence and notifications
- presence is now keyed by user id, not the username
- there is now a user:<id> channel for users to join useful for e.g. notifications, like invites
- the client now invites the other user (in a 1:1 chat)
not implemented: act on the invite