starting to add sexp (doesn't compile)
starting to add sexp encoder
factored out some testing functions to use elsewhere
parser comment
added a hash table to memoize rename and mark operations.

this should make renaming and marking less appallingly slow.
typo (merge with something)
detect unused attrs in one more place, s/fatal/err for all