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.
If you change the `ReferenceType` to a string, we probably don't even need this `sc_reference_type_t`.