Iterate all the way up the parent chain for possible transitions

Fixes #38 

Before, the state machine would only check the immediate parent for
possible transitions if none were found at the current state.  If the
grandparent of the state specifies a way to handle the event, it should
handle it if the current state nor the parent state define a way to
handle the event.