MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
I don't think we should mention `validation` here since we haven't spec'ed it out and we are not sure if it's going to be an array of `Member Type`.