Minor reformat to compile.js

Use function declarations, not variable declarations to function
expressions.
Update compile for nodes that now contain their body

Uses BlockStatement to group bodies together. Any BlockStatements
should then be removed and concatenated with the rest of the
statmeents in a parent body.