Add _apply_damage() to GameEngine as the single entry point for all
player damage (combat and non-combat). Tracks per-seat commander
damage and enforces the 21-damage lethal rule. Refactor _resolve_combat
to route through _apply_damage with source identity (commander vs
non-commander) preserved per-attacker. Add commander_damage_received
field to Player model. 23 targeted regression tests covering unit,
combat routing, non-combat, and full-game integration scenarios.
Refs #86 (deferred item 2: commander damage handling nuances)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>