Small fixes, mark seen logic, and porting of some old code

@Wilduck this PR provides the following:

1. Small fixes to unsubscription logic and addition of unsubscription logic to entity_events
2. Addition of a method on the subscription model to filter by subscriptions. This was previously in entity_subscription and used by entity_emailer. Not sure of how we can ultimately do subscription filtering in the long term, but things like the entity emailer dont necessary go through mediums.
3. Fixed a small bug related to group subscription filtering where it was returning the super entity
I'm not sure if `ignore_duplicates` does anything here. If you try to create an event with a duplicate uuid, it will just error out anyways, right?