MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
Inheriting symbol is better. (I am assuming that it is named as `Value` for more clarity instead of directly using `Symbol`.)