parser ast revamp: WIP

This CL changes the top level statement nodes to
actualy Statement types, and the rest of the callers
are changed to use the new types.
delete obsolete normalizer
Merge branch 'master' into parser
parser: bug fix for union of union