Add Assign, Switch and ExtCall parse nodes

More refactoring, moving specific constructs into their own parse node
and out of codegen.cs.