building ast
assorted small h stuff
list is no longer bidirectional
interpreter seems to be working.

a much too big commit.