MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
In what case is it ever a Type Definition? It is not in the spec.