System output format tests

These cover all the updates as mentioned in #212.

We can potentially leave out hoisting, but live bindings would be nice to keep.
Yes these tests are incorrect - my apologies. The `_export` statement should be in the `execute` scope for this then.