Implement msort/2

This predicate sorts a list of terms in order by term-precedes
comparison.  It's not ISO, but widely supported.
More commented-out debugging infrastructure

While debugging some problems with findall/3, I wanted something like
format/2 but wasn't ready to implement that predicate entirely.
Instead, I added printf/{1,2} which lets me peek at variables during
execution without having to instrument Golog itself.

I also added a way to pause Golog before stepping the machine.  This
lets me view and understand the machine before proceeding with the
next step.  Because reading a single line from stdin requires extra
libraries and comment out the ReadString call requires me to also
comment out the import statements, I "commented out" ReadString by
surrounding it with a false conditional.  At this stage of
development, when I'm doing a lot of debugging, it seems reasonable.

Eventually, I want to make a real tracing system like most Prolog
machines have.
Fix a bug in findall/3

findall/3 was searching for solutions in the goal it was given along
with the goals in its own continuation.  This was the cause of an
earlier findall/3 test failure (which I didn't solve at the time).

The fix is pretty obvious: before finding all solutions to the given
goal, clear the conjunctions stack so that the continuation can't
affect the solutions.  Since this is done in a "forked" Golog machine,
it has no effect on the original machine that called findall/3.  This
makes me love the immutability approach I've taken.
Optimization for cut barriers

A cut barrier is a reference point that cuts can use to eliminate
disjunctions.  It's redundant to have multiple cut barriers in a row
because cut to any one of them has the same effect: removing all
disjunctions in front of them.  This commit doesn't add another cut
barrier if there's one already on top of the stack.

I encountered this problem while debugging some code that generated a
lot of cut barriers.  The machine had dozens of redundant cut barriers
filling up memory and making it hard to debug the machine.  This new
code makes the machine dump easier to read.

Performance was not a concern here and I did no profiling.