Attributes description

**For review ONLY – do not merge**

This Pull Request proposes the way to describe **Resource**, **Action** and arbitrary **message-body** attributes in a reusable way. It also proposes the introduction of "data dictionary" to API Blueprint. In addition changes in this PR suggest that, if a message-body data structure is fully described using the attributes description, an explicit example asset (e.g. a JSON blob) is not needed and can be omitted from a blueprint. 

Please read (and review) following examples:

- [Attributes](https://github.com/apiaryio/api-blueprint/blob/zdne/attributes-description/examples/08.%20Attributes.md)
- [Advanced Attributes](https://github.com/apiaryio/api-blueprint/blob/zdne/attributes-description/examples/09.%20Advanced%20Attributes.md)
- [Data Structures](https://github.com/apiaryio/api-blueprint/blob/zdne/attributes-description/examples/10.%20Data%20Structures.md)

Also, in particular, read (and review) following sections of API Blueprint Specification

- [Attributes section](https://github.com/apiaryio/api-blueprint/blob/zdne/attributes-description/API%20Blueprint%20Specification.md#def-attributes-section)
- [Data Structures section](https://github.com/apiaryio/api-blueprint/blob/zdne/attributes-description/API%20Blueprint%20Specification.md#def-data-structures)

---

This PR closes #25 
Now, this is a very good point, we have discussed with @fosrias – basically it boils down to whether the blueprint you are writing parser, or whether it makes sense.

Technically there is nothing wrong with the following blueprint:

```
+ response 200 (application/json)

    + attributes
        + id: 21
        + message: hello

    + body

            { 
                "name": "John",
                "address": "john@appleseed.com"
            }
```

However would it make sense to the user? Would it be of a use? The sentence above basically recommends to describe the attributes of the example (if provided).