Use application PHIDs in Releeph, plus more
Summary:
Ref T2715. Ref T3551. Ref T603. This does a few things, but they're all sort of small:
- We commonly use a getX() / attachX() pattern, but have very similar code in the getX() method every time. Provide a convenience method to make this pattern easier to write.
- We use willFilterPage() in many queries, but it currently is called with zero or more results. This means we have a lot of "if no results, return nothing" boilerplate. Make it call only for one or more results.
- Implement PhabricatorPolicyInterface on ReleephBranch. A branch has the same policy as its project.
- Implement ReleephBranchQuery.
- Move the branch PHID type to application PHID infrastructure.
Test Plan: Browsed Releeph. Used phid.query to query branch PHIDs.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T603, T2715, T3551
Differential Revision: https://secure.phabricator.com/D6512