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.