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 :)).
So with `Description` in reserved keywords, I think I will build the AST in a way that will allow multiple ordered description sections e.g.:

```
- property (ojbect)
    - Description

        Hello

    - a 
    - b
    - c
    - Sample
        - a:1
        - b:2

    - Description

        Hola!

    - Validations
    - Description

        Ahoy!
```

No need to change anything here. Just painting the bigger picture ...