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`.