Support \dbg for dumping a bit of info about state of computation
Support recursive closure invocations

- This didn't work because the recursing instances still kept the same
  pointers to individual struct op's, and therefore op::reset reset
  all of them, not just the one instance on which it was run.

  There are several ways that this could be resolved.  We could clone
  the whole chain, but that would mean changes across all the op's,
  and cloning is it's own can of worms.  We could split op's into
  logic and data, so that instead of calling reset, we throw away the
  old context and just ask for new.  That has similar problems.  So
  the approach we currently take is that closure stores tree, and just
  calls tree::build_exec to instantiate a new nested call.

  I suspect the second approach, viz. separation of behavior from
  context, is actually cleaner, so we may end up rewriting this.