Added support for internal loopback transitions

These changes implement the feature request described in SimpleStateMachine Issue #3.

A transition from a defined state to a nil state shall not cause a state change. Instead, the defined state shall remain as the current state, and only the transition action shall execute.