Observer pattern and Achievement Tests 

@HallCat  @SheepishMonster 

Pull Contains:
- Observer Pattern interaces
- Achievement system observer
- Achievement tests
- moved main from testEnemyFactory to new file
- Created a player class

Seems a little odd that SoundSystem::update takes in value but doesn't use it.