Revisit read models/projectors once again
I find the read models hard. Let's take a look to the read models, projectors and publishers, and try to bring more structure into this part of the code.
This will always be hard, I guess. Let's keep 3 read models around:
- score log (with two repositories, one for the score lines, one for the current game and players)
- table state, the general table configuration
- current game options, things we need to know when we want to log a game
There will always be some overlap, especially between table state and current game options.
For this ticket, I want to clean up the current game and players repository of the score log (#270), and I want to get rid of the non-repository read model services in the Infrastructure namespace. I want to have most of the logic in the Domain namespace, to make it nicely testable.