Bring the report's foreign-group and foreign-class visibility in line
with the rules (game/rules.txt "Движение" and the report sections):
- incoming groups (heading to one of the recipient's planets) are shown
only within the recipient's visibility range (driveTech*30); beyond it
a group is hidden even though it is inbound;
- the unidentified-group list now uses the visibility range (it used the
flight range, driveTech*40), excludes groups heading to the recipient's
planets (those belong to the incoming list), and reports each group
once (it previously emitted an entry per in-range owned planet);
- ship classes met in a battle the recipient took part in or witnessed
now appear in OtherShipClass, with the design looked up from the owner
race's ship types (the battle report carries only the class name).
The rules already describe this behaviour and the report wire shape is
unchanged, so no documentation change. Tests added for all three.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>