Fixing Program/BlockStatement rewrites

Fixes #90

There is one failing test I haven't figured out how to fix yet. We need to unwrap `ExpressionStatements` for the general case but here if we don't then we end up with two semicolons.
which actually might be ok, since we dont intend on testing formatting here, we want to test rewrite.