Support lazy referencing

this PR would make the snowcrash able to recognize references which has been defined after the location of the usage. closes issue #84. this PR is not yet ready to merge.
@pksunkara  `p->meta.state` is an enum, how can  we returned it as a constant type.(I followed up this code here: https://github.com/alikh31/snowcrash/blob/alikh31/lazyreferencing/src/CBlueprint.cc#L393)