Adds support for a new `ready` state in the template engine for arena signs.
A sign is in the `ready` state when there are players in the lobby and all of them have readied up. This is only relevant in arenas with start delay timers, as the arena session automatically starts when all players are ready otherwise.
The new state is completely optional, even when no base state is provided, and it inherits from the `joining` state when not defined.
Closes#593
This commit adds support for listing arena players on arena signs by
introducing the following _dynamic variables_:
- `<arena-n>` the _nth_ live arena player
- `<lobby-n>` the _nth_ player in the lobby
- `<ready-n>` the _nth_ ready player in the lobby
- `<notready-n>` the _nth_ player in the lobby who hasn't readied up
Each variable points to a list of players (sorted by name), and the `n`
is the index into that list (1-indexed). This means that putting the
variable `<notready-1>` in a template will result in the name of the
first player in the list of lobby players who haven't readied up, sorted
by player name.
Implements #592