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 should be apparently `SymbolName identifier` or, alternatively move the definition of `SymbolName` into this structure (and define it as Identifier) 

```
typedef std::string Identifier
```

and

```
Identifier identifier;
```