implemented and tested undo/redo for exil-env:add-fact
with-undo now doesn't store undo-fun to undo-stack if it's already
undoing (when one undoable action calls some other undoable action
only the outer-most one is stacked for undo)
implemented and tested undo/redo for exil-env:rem-fact
added mod-fact (which replaces one fact by another) to exil-env
so that this action may be undone as one step