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.

OK, only now I do understand that you have tried to explain this logic in the PR description. But the algorithm should be really explained here. Please add the comment accordingly.