Added JUnit test for InternalState

The JUnit test for InternalState contains tests for the actual state,
relationships between states, and state entrance and exit actions.
Merge branch 'master' into junit
Fixed InternalStateTest after merge from master
Start of the StateMachine JUnit test

The StateMachine interface contains most of the logic related to
transition from one state to the next.  Therefore this should definitely
be one of the interfaces with a dedicated unit test.
Merge pull request #37 from bnorm-software/junit

Junit