add list, disallow plain objects on assignment / creation

 - basically, everything needs to be built now.
 - support .pre on NodeClass to modify the AST before getting in.
use lists
add preprocess step to Patterns to fix esprima parsing woes.

 - fixes expressions on for of and for in.
 - while at it, disallow expressions on for of and for in left.