Use const where necessary
Do some much needed refactoring
Add notion of movable and immovable objects
Correct penetration vector calculations

Fix unit tests
Resolve collisions in physics engine

Now that the penetration vector is working better, take that into
account and move the necessary objects so that they aren't colliding.
Merge branch 'collision_detection'

Conflicts:
	gameengine/src/GameEngine.cpp