runtime/load: Use PyPy-compatible access to builtins.
runtime/base: Don't return Integers from __cmp__().

Fixes many things on PyPy, where it is forbidden.
runtime/trace: Be a horrible person.

Also make UTF-8 text print correctly on UTF-8 terminals.
derp: Split some combiners, and build more debugging stuff.
derp: Clean up some old unused code.
derp: Be more aggressive about compaction.

And output more diagnostic information about compaction.

At this point, grammars that are built out of a single complex part which
repeats indefinitely will generate O(1)-sized trees during their parse; the
nodes that build up in front are completely collated into a single composed
function which applies those reductions.

I suppose that it's time to start building lexers!
Isolate and test consToList.

A good utility function.