Total Keys on keysanity menu fixed
Changed X and grayish circular symbol for new O character
Fixed a key logic error
Fixed unplaced items bug to remove red rupees
-Added a bunch of crystal switch logic
-Added a check for maiden backtracking
-OrderedFrozenSet to prevent randomization leaks with the same seed
-A few key improvements from an outstanding PR
-Rewrite of step 3b for accuracy - verified acceptable speed
--Can now detect an impossible balance situation and restart
-Eliminated false negatives in step 4 (still need to rework false positives)
-Minor key logic improvement
--Introduced reachable_switches
--Calculate total completion in equation resolution
--Prioritized one-way connections over neutral/neutral_profitable sectored but not over dead-ends
--Simplified finding good complex branching candidates - just re-used equations routine
--Valid multi choice for global polarity when fixing parity
--Added total dungeon charge as critieria when fixing parity
--Pinball used for navigation in skull 2, marked appropriately (particularly with Ice Cross in Skull 2)
--Equation resolution detects used benefits with unreached_doors benefits
--Greedy equation finder not longer used destination/entrance sectors of the wrong split dungeon
--Required connections don't overestimate benefits
--Introduced the concept of crystal switches and doors blocked by blue barriers to equations
Bug fix for simple dungeon shuffles making HC your DW access with door shuffle on
Bug fix for accessibility: none
Moved bk/key info to keysanity screen
Added chest total to keysanity screen
Access to Murahdahla's Triforce requires ">" 20 triforce pieces by default. This leads to 21 pieces available in beatable only and it means a hard crash if on tries to set it to 30 out of 30, as has_beaten_game cannot find a 31st triforce piece to beat the game
New algorithm also obsoletes sweep_for_crystal_access
Set up door and entrance caches in advance
Replace CrystalBarrier with FastEnum for bitfield arithmetic