Remove indirect loads of Differential revisions from Releeph requests
Ref T3551. Currently, there are many layers of indirection between pull requests and revisions. After D8822, revisions and other types of requested objects are recorded directly on the request. This allows us to simplify data access and querying.
A lot of stuff here is doing instanceof checks to keep APIs stable, but most of those can go away in the long run.
- Browsed requests.
- Verified revision-dependent fields (like "Revision", "Size", "Churn") still render correctly.
- Called releeph.queryrequests.
- Called releephwork.nextrequest.
Reviewed By: btrahan
Maniphest Tasks: T3551
Differential Revision: https://secure.phabricator.com/D8824