MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
I don't know what was @zdne's idea, but I think this can be useful when you want to give only a subtree to some tooling and you want to get rid of references to other named types, so you directly include them. So this could be just for better interface between machines, not for people to write it like that in MSON.