demodeing, un-gc-ing

It looks to me like the string_reader and tt_reader structs are
GC pointers only because they predate the modern borrow system.
This commit leaves the type names string_reader and tt_reader alone
(they still refer to GC-ed pointers), but internally the functions
now use borrowed pointers to refer to these structures. My guess
would be that it's possible to move this change outward and not
use the GCed pointers at all, but that change looks like it could be
a larger one. Actually, I'm delighted at how quick this change was.
lines too long
fix typos in sample code, add enum to json encoder, add test case
json bugfixes
tidy
starting to add splicelexer
transferring to other machine...
working on ICE in traits
Changed TTFrame to structural record, allowing removal of aux structure
checkpoint, testing for damage
going home now...
checkpointing
test cases, backing out of several changes
test case fixes
deriving-eq all over ast
use node_id for indexing in ast_to_ty_cache
json bugfix
finish deriving_eq in ast
tidy