Enables a state.
This activates all of a state's clauses, and calls its
method, passing in all of the given
If the state is already active, it's an error.
If the state's parent is inactive, it will automatically be enabled before
the child state is enabled. If the state has any child states which were defined using
state* clause, they will automatically be enabled just after enabling