Allow revisions to revert commits and one another, and commits to revert revisions
Ref T13057. This makes "reverts" syntax more visible and useful. In particular, you can now Reverts Dxx in a revision or commit, and Reverts <hash> from a revision.
When you do, the corresponding object will get a more-visible cross-reference marker in its timeline:
From here, we can look at surfacing revert information more heavily, since we can now query it on revision/commit pages via edges.
Test Plan: Used "reverts <hash>" and "reverts <revision>" in Differential and Diffusion, got sensible results in the timeline.
Reviewed By: amckinley
Maniphest Tasks: T13057
Differential Revision: https://secure.phabricator.com/D18978