- Moved the work of running a composite state to the StateMachine in
order to allow CompositeStates (and the graphs that contain them) to
remain stateless if the API client wishes.
- Changed State hierarchy back to just State and a FinalState subclass.
- Added TransitionType generic type to State for the sake of subclasses
that use it (e.g., CompositeStates.)