Use `project.SameAs(otherProject)` instead of reflect.DeepEqual

This lets github.project implement its own comparison logic. For
instance, two projects can be the same even though their `Protocol`
values don't match.