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.
@alikh31, There are already some iterator types defined in `src/ActionParser.h`, `src/PayloadParser.h` etc.. Though, they are of type `const_iterator` you should be able to use them here.

-- 
Pavan Kumar Sunkara

On October 8, 2014 at 8:53:19 PM, alikh31 (notifications@github.com) wrote:
> > + Collection >::iterator requestSMIterator;
> > + Collection >::iterator responseSMIterator;
> > +
> > + bool exportSourceMap = pd.exportSourceMap();
> > +
> > + resourceGroupsSMIterator = out.sourceMap.resourceGroups.collection.begin(); 
> > +
> > + for (ResourceGroups::iterator resourceGroupIterator = out.node.resourceGroups.begin(); 
> > + resourceGroupIterator != out.node.resourceGroups.end();
> > + ++resourceGroupIterator, exportSourceMap ? ++resourceGroupsSMIterator : resourceGroupsSMIterator) 
> {
> > +
> > + if(exportSourceMap) {
> > + resourceSMIterator = resourceGroupsSMIterator->resources.collection.begin(); 
> > + }
> > +
> > + for (Resources::iterator resourceIterator = resourceGroupIterator->resources.begin(); 
> 
> @pksunkara sorry but it's not clear for me what you mean. do you mean I have to define a type 
> as `ResourceIterator` like : `typedef Resources::iterator ResourceIterator` in 
> blueprint.h?
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/apiaryio/snowcrash/pull/223/files#r18603975