Added AST nodes for units and rewrote javascript compilation to new unit aware runtime
Implemented name resolving for all definitions and refactored AST nodes and the module class.