Allow unsubscription from projects
Summary:
Fixes T4379. Several changes:
- Migrate all project members into subscribers.
- When members are added or removed, subscribe or unsubscribe them.
- Show sub/unsub in the UI.
- Determine mailable membership of projects by querying subscribers.
Test Plan:
- As duck, joined a project.
- Added the project as a reviewer to a revision.
- Commented on the revision.
- Observed duck receive mail.
- Unsubscribed as duck.
- Observed no mail.
- Resubscribed as duck.
- Mail again.
- Joined/left project, checked sub/unsub status.
- Ran migration, looked at database.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, asherkin
Maniphest Tasks: T4379
Differential Revision: https://secure.phabricator.com/D8189