Share Revision/Task attaching code
Summary:
We have this code in two places; split it into an editor class so we can share
it.
This also fixes some probems with this field not detaching tasks properly.
Test Plan:
- Created a revision with no attached tasks.
- Attached it to a task.
- Updated it.
- Detached it.
- Used web UI to attach/detach tasks/revisions.
Reviewers: btrahan, jungejason
Reviewed By: btrahan
CC: aran, btrahan, epriestley
Differential Revision: 1225