Add a new InfoSystem that sends SharedInfo from the server to client
when requested. Currently, only the rule header and rule text is sent.
Previously, the rule header and rule text was bundled in the client,
which means that the client would only display rules that it was built
with, even if the server has different rules.
This allows servers all running the same build to send different rules.
This could be useful, for example, for servers running the official
builds to send different rulesets without a client rebuild.
* Create new rules popup
* Implement accept and quit buttons
* Add rules accept timer
Forces the player to read the rules by making them wait.
Speed reading the rules took me just under 45 seconds which means it'll take longer than that if someone's reading this for the first time.
* Fix info rules header
* Change _rulesPopup to local variable
* Implement showing rules on first connection
* Clean up RulesManager
* Change changelog and rules unread to use CVars
* Fix missing change
* Rename InfoWindow to RulesAndInfoWindow
* Change default server.id to unknown
* Fix invalid file contents and getting CVar