MSON integration in API Blueprint

* Added `AttributesParser` for attributes section
* Added `DataStructuresParser` for data structures section
* Added a `preprocessNestedSections` which runs before `processNestedSections`

Logic for pre-filling named type tables is as follows:

* Loop over all nested sections under root markdown node and maintain a `contextSectionType` variable
* Get their `sectionType`. If it is `ResourceSectionType`, make sure it is not a complete action type.
* If node is `ListItem` and context is `Resource` and current is `Attributes`, fill entry in named type table
* If node is `Header`:
  * If current is `Resource` or `DataStructures`, assign them as context
  * Otherwise clear context when context is not `DataStructures` (Because named types are header nodes)
  * If context is `DataStructures`, If current is one of the other blueprint sections, clear context
  * Else fill entry in named type table.

Basically, I am storing context to precisely pick the possible named types which can occur in only two places.

Any reason to have the struct here? Please follow the ResourceGroups model – remove this struct and use `DataStructures` (renamed from `DataStructureCollection`) directly under the `Blueprint` struct. 

Sometimes I have the feeling you are consistent on irrelevant things (spaces) and inconsistent on the important ones (naming) – we use plural form instead of `collection` suffix..