Added StateMachine base class.
Added missing files.
Revert "Added missing files."

This reverts commit 0b20b3cf90280d66dbfc286ffa30433b5ea0ad30.
Revert "Added StateMachine base class."

This reverts commit b4ebfc29727bed09dbfe3e053c94fab4041720cd.
Merge branch 'development' of https://github.com/Megabyte355/RollerCoasterOpenGL into state-machine
Added base classes for State Machine
Added State base class and a specific SMController for Cube.
Buildable state with CubeModelSM instantiating a CubeSMController
Added new files to solution
Merge branch 'development' of https://github.com/Megabyte355/RollerCoasterOpenGL into state-machine

Conflicts:
	VS2012/Assignment1.vcxproj.filters
Finished implemented one successful CubeMovingState
Successfully replicated CubeModel's behavior in its state machine version counterpart.
Added code for switching states based on strings and custom conditions from each state
Added a dummy Idle State - (implementation not done yet).
Update project filters
Successful state changes between CubeMovingState and CubeIdleState.
Particle systems Base architecture.
Added instantiation logic for particles.
Add function to return canon tip position and direction in tank model.
Moved collision testing code from FreeLookCamera to RayCast class.