Code cleanup

- Remove trailing whitespace
- Move the InitializeNativeTarget call from main to codegen
- Remove the "goto" statement
Nested scopes and Global variables

- Link the CodeGenBlocks and add a function to resolve an identifier
  by searching upwards
- When variables are created on the root scope, turn them in to
  Globals
- Remove all "NULL"s and use "nullptr" instead