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.
Those booleans are nothing but conditions on `model.headers` which can be taken from symbol name in `payload.reference.id`.

The initialization should be done normally.

```cpp
ParseResult<Payload> payload;
// fn(...)
```