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.

As this seems to be the key function in the PR it would definitely deserve a "better" (as anything is better than non-existent) explanation – comment.