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.
If it's a 1 line inside the `if` or `else` condition, we don't use a newline after `if` and `else`.