Lay groundwork for collection subscriptions
This makes the necessary schema changes to support collection subscriptions,
creates the CollectionSubscription entity, and adds underlying support where
needed.
Send out collection subscription updates through email
Allow users to subscribe and unsubscribe from collections and view collection subscriptions
Delete subscriptions if collection is no longer visible
If a collection is deleted, or made private and the subscriber is not the owner of the collection, delete subscription.
Implement edit listings for collections
_uniq indices should be UNIQUE; copypasta error from bug in index creation.
Notify users when a collection they subscribe to is deleted or made private
When a subscribed collection is deleted or made private, this stores the last publically-available name of the collection and notifies subscribers that it has been deleted or made private (not which), then deletes the subscription.
Correct SQL syntax to prevent ISE
Modify subscription emails to correctly display deleted/hidden collections
Rename columns and methods to avoid potential confusion
Use a more sensible query that I didn't write while half-asleep
Move prepararation to notify and delete subs to triggers
Avoid refactor of SubscriptionsRole
Do not return any edits if the collection isn't visible by the user
Create trigger to reenable old subscription if it hasn't yet been cleared and user resubscribes
Don't show unculled collections in subscriptions list or unculled editors in subscribers list
Introduced compile bug in cleanup
Minor simplifications
Missing use breaks testing
Another potential privacy leak