Can exit

Allow states to conditionally prevent exiting with `canExit`.
@DouglasMeyer Can you think of a valid use case for multiple `canExit` handlers on a state? I'm thinking it would be easier to just implement a default `canExit` method that returns `true` that could be overridden by states that want to block exits.