adding pre-analysis AST-manipulation

essentially the global namespace is wrapped into an unnamed
package in the parser. This allows the semantic analyzer to
treat the entire AST as a list of packages.