Ref T4810. Ultimate goal is to let Harbormaster post a "build passed/failed" transaction. To prepare for that, implement PhabricatorApplicationTransactionInterface in Differential.
To allow Harbormaster to take action on diffs but have the transactions apply to revisions, I added a new method so that objects can redirect transactions to some other object.