optimize away some compiler state
better handling of const values across multiple passes

An unbound local error will now be raised if a const value is accessed
before being assigned, even though the compiler makes two passes.
minor naming cleanup
remove the need for the node map
update alias resolution

this updates the aliases to resolve without needing the node map
add the update_id_nodes method to the compiler nodes.
update scope handling on looper and conditional
update Alias to accept a chain of names
update the parser to allow extended dotted alias names
update to pass the alias chain
update alias resolution for extended aliases