Implement adding events to configurations
When adding an event to a configuration, we
assert that the configuration actually contains
all of the dependencies of that event within it;
otherwise, we would violate the property that a
configuration contains all of its dependencies.
Note that we do not assert whether or not the
configuration is actually conflict-free: we leave
that to the correctness of UDPOR and other tests which
will assert UDPOR is doing the right thing. But having
this assertion will certainly help catch bugs with the
UDPOR implementation more quickly (termination would
happen at the moment that the algorithm encounters
a spot where it chose an event incorrectly).