Network upgrade and new reconnection mode:
* users can disconnect or close app without game progress loose now;
* disconnect dialog will show active tables stats and additional options;
* all active tables will be restored on reconnect (tables, tourneys, games, drafts, sideboarding, constructing);
* user must use same server and username on next connection;
* there are few minutes for reconnect until server kick off a disconnected player from all player's tables (concede/loose);
* now you can safety reconnect after IP change (after proxy/vpn/wifi/router restart);
Other improvements and fixes:
* gui: main menu - improved switch panel button, added stats about current tables/panels;
* gui: improved data sync and updates (fixes many use cases with empty battlefield, not started games/drafts/tourneys, not updatable drafts, etc);
* gui: improved stability on game updates (fixes some random errors related to wrong threads);
* server: fixed miss messages about player's disconnection problems for other players in the chat;
* refactor: simplified and improved connection and network related code, deleted outdated code, added docs;
* tests: improved load test to support lands only set for more stable performance/network testing (set TEST_AI_RANDOM_DECK_SETS = PELP and run test_TwoAIPlayGame_Multiple);
* Improve some "mana spent -> give effect to permanent spell" cards
make effect source be the SpellAbility itself
* Implement Intrepid Paleontologist and tests
* Use a common class for the "specific MOR ETBs with counter" effect
* Prevent casting non-owned dinosuars
* Rename AddCounterEnteringMOR to AddCounterEnteringCreature
* fixes from review
* Update Pioneer banlist
Karn, the Great Creator is banned.
Geological Appraiser is banned.
Smuggler's Copter is unbanned.
* Update Modern banlist
Fury is banned.
Up the Beanstalk is banned.
* Update Pauper banlist
Monastery Swiftspear is banned.
* Improve text generation for some counter abilities
* Magus Lucea Kane must apply to permanent spells (bugfix, related to #11440)
* Further improve text generation of counter text
* Text improvements to a couple cards
* Graft text improvements
* Further remove unused variable
* Be consistent on Backup ability setup, revert Thalia's Lieutenant (filter reuse means it doesn't work)
* Thalia's Lieutenant original text was slightly wrong, fixed