Fix crash when recruiting heroes from tavern
Generate unique instance name for heroes before adding them to the map
during recruitment. This prevents the "Object instance name missing"
error that occurred when clicking the buy button in taverns.
The issue was in visitHeroRecruited() where the hero object was being
added to the map without first setting its instanceName property, which
is required by CMap::addNewObject().
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>