Reworked rolling/readying/starting procedure. Fixes #11.

Previously, player numbers would be rolled when all players were ready. This was redundant and cumbersome since when the game is full, all players should automatically be ready to roll for player number. The ready state is more useful when all setup is done to indicate that the player has moved to the correct starting position and is ready to start the game. Refer to #11 for more details.

This means that the purpose of `setReady` has changed to `start()` the game when all players are ready instead of `roll()`ing. The `start()` method is now also internal again to prevent false starts.

The new scenario consists of the following steps:
1. Players join the game.
2. When all 4 players have joined, the player numbers are rolled.
3. Players receive their player number and position their robot on the board. When they're done, they report that they're ready to start.
4. When all 4 players are ready to start, the game is started.

This is quite a big change, it'd be nice to get some tests on this. :wink: