Format code. #mania
Fix a null access when computing the trace.
Add Hoa\Praspel\Exception\AssertionChecker.
Use Hoa\Praspel\Exception\AssertionChecker…

… instead of Hoa\Praspel\Exception\Generic.
Add “preambler” support.
Split into getAttributeData() & getArgumentData().
New `this` support.

We no longer have a `#this_identifier` node, but a more generic one:
`#dynamic_resolution` (the root can be anything).
Add the getRoot() method.
A specification can be binded to a class.

This is obligatory for dynamic and static resolutions.
Introduce the “contract (static) registry”.

The contract static registry aims at containing all Praspel contracts.
This is very helpful when a contract manipulates external (out of the
current contract) data.
Interpreter can bind a class on the specification.
Support dynamic resolutions as external variables.

`this->foo` is considered as a borrowing variable, with the type
`TYPE_EXTERNAL`. Verifications use the contract registry and the binded
class of specifications.
Cannot have global/parent @ensures or @throwable.

The semantics of a global @throwable clause is really hard to define.
Same for @ensures. After a study, we realized that users do not write
global or parent @ensures or @throwable clauses. Thus, to simplify
everything, we reject such contract constructions.
Don't check invariant before invoking constructor.
New $bindToClass argument on Praspel::interprete.

Bind class when interpreting.
Classnames are backslash left-trimmed.
Better constructor support.

When the callable is a constructor, we need a special process, based on
`ReflectionClass::newInstanceArgs`.
[auto] Merge from Praspel

    • #a12ea68 — Format code. #mania (Ivan Enderlin, 2013-11-08)
    • #4a00f5e — Fix a null access when computing the trace. (Ivan Enderlin, 2013-11-10)
    • #60a2336 — Add Hoa\Praspel\Exception\AssertionChecker. (Ivan Enderlin, 2013-11-10)
    • #ce3a6b9 — Use Hoa\Praspel\Exception\AssertionChecker… (Ivan Enderlin, 2013-11-10)
    • #131da65 — Add “preambler” support. (Ivan Enderlin, 2013-11-10)
    • #31d2496 — Split into getAttributeData() & getArgumentData(). (Ivan Enderlin, 2013-11-10)
    • #09b88c5 — New `this` support. (Ivan Enderlin, 2013-11-10)
    • #af293fb — Add the getRoot() method. (Ivan Enderlin, 2013-11-11)
    • #5c358ff — A specification can be binded to a class. (Ivan Enderlin, 2013-11-11)
    • #faa9e89 — Introduce the “contract (static) registry”. (Ivan Enderlin, 2013-11-11)
    • #6e854e8 — Interpreter can bind a class on the specification. (Ivan Enderlin, 2013-11-11)
    • #bec521d — Support dynamic resolutions as external variables. (Ivan Enderlin, 2013-11-11)
    • #9c609da — Cannot have global/parent @ensures or @throwable. (Ivan Enderlin, 2013-11-21)
    • #1d3d606 — Don't check invariant before invoking constructor. (Ivan Enderlin, 2013-11-21)
    • #c862a7c — New $bindToClass argument on Praspel::interprete. (Ivan Enderlin, 2013-11-22)
    • #6382c6b — Classnames are backslash left-trimmed. (Ivan Enderlin, 2013-11-22)
    • #f82db70 — Better constructor support. (Ivan Enderlin, 2013-11-22)

---

Merge remote branch 'library-praspel/master'