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.
With this pull request, we need to separate serializing of a `Reference` structure to another function. Similarily with source maps serializing and `SerializeYAML`