Initial cut of `eval'
moving to locals; fixing _ast vs ast, adding tests
test hoisted functions too
Merging the two tests.
Merge branch 'master' into paultag/feature/eval