initial commit of the new state machine
extract method to define properties in some specific class
Make sure the package list goes into the correct package
add test for a state machine with a fork
make the error message more explicit about what is going on
test a looping state machine
Throw an exception if the same state or event is defined twice
add tests for expected exceptions
Merge pull request #26 from amb43790/state-machine

State machine infrastructure