Tokens transformators

Proof of concept about transforming tokens (resolve #531).

- [X] add mechanism for support tokens transformation
- [X] add `CT_ARRAY_TYPEHINT` for `T_ARRAY` used as typehint (fix #542)
- [X] create `CT_CURLY_CLOSE` for `T_CURLY_OPEN`
- [X] create `CT_DOLLAR_CLOSE_CURLY_BRACES` for `T_DOLLAR_OPEN_CURLY_BRACES`

If merged then I'll create a Transformators for :
* create tokens for braces in syntax: `$this->{$foo}`
I see an issue with using a protected property and LSB access: if a child class redefines a ``$lastGeneratedNextCustomTokenValue``, the transformer will use an independant counter, and tus potentially create duplicate values.
You should use a private counter instead (and access it using ``self::``) to ensure that all transformators are using the same counter