Instead of querying the PatchSetAncestors table to find direct
ancestors/dependents of each change, use the secondary index. For
direct parent patch sets, we read the patch set's parents from git,
then query for changes in the same project having one of those SHA-1s.
For direct child patch sets, we query for patch sets having a group
matching the current patch set (the same groups field used by
GetRelated), then see which of those have patch sets whose parent
matches the revision of the patch set in question.
In addition to avoiding the need for this table in the database, this
change also has the behavior change of filtering direct child patch
sets to changes in the same project, which was a likely inadvertent
omission before.
Change-Id: Ia49f88b2558e35b2c9321e44b94976e27cf679eb