Big Refactor

Changing semantics to treat block as anonymous functions. Changin
interpreter to support activation registers for function calls.