Added runtime data structures.
Added constants and moved code generation machinery into VM.

- Made global constant VM
- Renamed the runtime VM to SM (stands for Stack Machine)
- Made constants to refer to runtime data structures during compilation
- Moved simple hello world code generation into emitRuntime in
  VirtualMachine
Added machinery to perform decl name and depth preprocessing.
Added machinery to set/get depth for a declaration.
Removed emitRuntime from VirtualMachine.
Added code for adding depth to declarations.
Added external declName variable.
Added setupDeclName and removed default behavior for declNamePreprocess.
Implemented declPreprocessing and debugging routines to test.

Each declaration associated with a method or a function should have an
associated depth. Each declaration should also have an alternate name
stored in the global mapping declName. Names for every declaration
should are unique.
Added virtual method runtimeDataStructGen.
Updated declaration renaming and began runtime data structure generation.
Implemented runtimeDataStructGen, a few additional fixes as well.
Added function types to generated runtime data structures