Minor
I made the environment in the interpreter *lazy*. That is, rather than
mapping names to values, it now maps names to "delayed values". Before,
herd had to evaluate every pre-defined relation/set/closure in the
environment, *for every execution*, even if that relation didn't appear.
Now, it just evaluates the relation/set/closure when it is first used.