Added starting points to board definition in board module
Using starting points from board definition
Introduced order policy
Moved tank placement code to engine and introduced TankPlacementPolicy
Refactored GameLogicTest, refactored builders
Refactored simple engine test
Fixed GameRunnerFactoryTest
Fixed flaky SimpleEngine test
Fixes after PR comments
Fixed failing SmokeTest & GameRunnerFactoryTest after rebase
Merge pull request #29 from artekorzel/feature/tank-starting-points

Feature/tank starting points
Added GameFinished event, extracted GameFinishingPolicies
Merge pull request #31 from artekorzel/feature/game-ending-detection

Game ending detection 2.0
Introduced EngineFactory
Constructor enabling the GameRunnerFactory to be instantiated without IoC container
Merge pull request #32 from artekorzel/refactoring/engine-factory

Introduced EngineFactory
Reorganized Event hierarchy.
Game store info about it's board.
- Implemented GameHistoryService.
- Changed Event hierarchy according to REST needs.
- Changed way of starting game in SimpleGameplay (because of not initialized GameHistory, which produced NullPointerExceptions in GameRunner)
- Correction in Event enums
- Method getAction() removed in MissileDestroyed class (implemented in base class)
- Factory method toBoardDefinition() moved to GameRunner class
- Added info about initial players positions in Game interface.