implemented and tested undo for rete-env:do-step
wmes matching a negative rule condition (thus dissatisfying the rule)
 and matching token for previous conditions (consistent variable bindings)
 are no longer stored in the token, but in the beta-negative-node's
 negative-wmes assoc list (with the token as key). this way tokens are
 really immutable from rete's point of view and don't have to be copied