Support nested final state
Add missing file
Add EventType annotation to specific semantic of user define event
And remove AbstractState and FinalStateImpl file which all merge into StateImpl
Reimplement final state model
The final state can be point to any custom state and also nested under certain state. When reached nested final state, first exit all current state and its child state, and return parent state as state machine current state, and then fire finished event immediately.