BlueprintParser refactor

@zdne Can you review this branch and merge it with `pksunkara/refactor`? I need this to be done in order to check for global duplicate in `ResourceGroupParser.h`.

Also, please check my questions on the diff below. Thanks.
Why this changed? Didn't we agreed we will leave the AST interface out of this refactor? Every other node is using `Collection`...