Implemented compound statements (not the GNU extension).
We treat blocks of code as compound statements to make parsing much easier.
Initially the idea was to expect scope open tokens at if/else statements, but
this proved to be difficult since the block to statement can be eliminated for
single statement expressions. By treating them as compound statements we can
eliminate code duplication and allow the correct syntax, while also making it
easier to implement actual compound statements (the GNU extension) if we ever
plan to.