State Updates.

- Redundant properties in StateConfig removed.
- StateConfig now keeps track of how many times that State has been switched to/used. 'runCount'
- Config contains a reset method (which resets properties like isReady) when the state is destroyed.
- States now contain a shutDown method which is executed just before that State is removed and a new one is switched to.
- Nice messages are now on the StateManager when adding states.
- Refactored StateManager code. (Removed redundant checks and removed code that was just not being used in any case).