test(replica_test.go)

add tests for sccStack operations and resolveConflicts

refactor(instance.go) add i.SetExecuted() and i.Executed()

add setters and getters to avoid using i.executed directly

refactor(replica.go) change neighbor.sccLowlink to heighbor.sccIndex

To be exactly the same as the original algorithm

refactor(replica.go) add more continue condition

dep == conflictNotFound || dep == checkpoint