Destroy conversation when all participants leave it

When all participants of a conversation leave it, conversation remains in db.

Due to private issues, when nobody is seeing it, it should be destroyed.

Test is long but I think it accurately ensures expected behavior.
I wonder if something like
```ruby
Conversation.joins(:conversation_visibilities).group('conversations.id').having("COUNT(conversation_visibilities.id) = 0").delete_all
```
couldn't do it in a single query. That query returns no results on my pod, so I can't verify.