MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
For the record: I think the way it is done here is correct. In C++ we will use an integer to hold the attributes data.