Fix performance regression introduced when fixing websocket pushes

When ensuring websocket pushes are always delivered to the right participants,
for every stream, which happened by moving the sending to the background
workers from the signals, I also made Socialhome horribly inefficient
especially for sites with more users.

Now we only notify users who have actually been recently online, based
on websocket stream activity. Attempts are made to skip doing expensive
database lookups on whether or not to cache/notify something if no
caching or notifying is going to happen.
3 jobs for notify-streams-perf-tweaks in 16 minutes and 29 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Lint
passed #6396
lint

00:02:22

 
  Test Backend
passed #6397
test_backend

00:08:45

 
  Test Frontend
passed #6398
test_frontend_unit

00:05:22