Switch File deletion to use ModularTransactions
Summary: Fixes T12587. Adds a new PhabricatorFileDeleteTransaction that enqueues File delete tasks.
Test Plan:
- hack PhabricatorFileQuery to ignore isDeleted state
- stop daemons
- upload a file, delete it from the UI
- check that the DB has updated isDeleted = 1
- check timeline rendering in File detail view
- start daemons
- confirm rows are deleted from DB
Reviewers: epriestley
Reviewed By: epriestley
Subscribers: Korvin, thoughtpolice
Maniphest Tasks: T12587
Differential Revision: https://secure.phabricator.com/D17723