Preparing implementation of asynchronous transition

Implements a token'status
* free: token can be used to enable transition
* blocked: token has already be used to enable a transition (not yet fired)
* consumed: token was used to fire a transition
=> token are not removed anymore. Only their status is changing.

Add events: 
* BEFORE_TOKEN_BLOCK
* AFTER_TOKEN_BLOCK

Engine's main step is divided in two steps:  
* firingTransition: begin transition's work
* firedTransition: end transition's work