Changed alot. Switching views works!

- Moved Tile and Ship into Board class.
- GamePlayer became GamePlayerController. And added GamePlayer model.
- GamePlayerController knows the views and the model. So it can properly
handle PlayerInteractEvents.
- Added GameData to seperate the serializable part from the Game class.
- Renamed GameRepository to GameDataRepository.
- Renamed GameYamlRepository to GameDataYamlRepository.
- No longer looping over observers, to avoid
ConcurrentModificationException.
- Moved some methods, changed some relations....