Fix starting of an already-completed GroundTermNet

As shown in the new test BugIterAll, a ground term would maintain its
completion status even after being restarted. This led to an incorrect
behavior in the bug test case, as the expressions completed more often
than they should have.

This is fixed by ensuring that the matching state is updated both
after evaluating events and at the start of the GroundTerm,
i.e. whenever the "successful" variable is set.