merge

Join two states of the same track: strippedBy is a GSet union, and the ciphertext of the side further along the strip chain wins (each honest strip removes exactly one layer, so |strippedBy| totally orders one track's honest chain). Ties (a protocol-violating fork) break deterministically by ciphertext byte order — mirroring CardState.merge.