Transitions can now emit data.

Update code and docs to allow arguments to be passed to state
transitions:

    monster.transition('type', 'value');

An arbitrary number of arguments may be passed, and will be passed to
event handlers:

* Monster#type>
* Transition#transition
* State#enter
* State#leave

Only Monster#transition does not recieve these arguments.