add revised mson spec

@zdne @pksunkara @honzajavorek Please review and merge when ready.

This PR restructures the spec per discussion in https://github.com/apiaryio/mson/pull/4 to progressively introduce functionality and reduce having rules span different sections. Comments in the other PR have been addressed here together with the restructuring and completion of missing definitions (hopefully :)).
@zdne Well, I think from a parsing standpoint in the AST we can have them be a flavor of the same thing. I could go either way. Are you suggesting some how moving their definition elsewhere in the document or just asking if there is any issue. Both Mixin and One of are a little different conceptually. They are more like a special construct, but I think in general they work in the same way. Does that clarify anything?