A few tweaks to small-step quine prog.

- as reported by @swannodette, listo could cause divergence.
  to avoid this, define listo as a type constraint.

- for uniformity, the mini-language now uses the empty sequence
  instead of nil.
Testing twine.

Works, but there's a bug with != and nominal unification, since moving
!= before unification gives wrong result.