add Revision.equals()

Branches may be changed, but it should still be considered the same revision. A commit can be pushed to any branch, but it's still the same commit.

No null check because Revision should not be constructed with null.