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 in case of passing uninitialized reference, any comparison for `reference.meta.state` would lead us to a crash, depends on how runtime manages the memory block. (I had a long struggle with adding this line).