Basic location checking (against quest locations) while playing game.

Plus some refactoring and new classes to make the code more DRY