First part of object instance API cleanup

- removed passability() method in favour of passableFor(PlayerColor)
- moved operator < code to map handler
- updated class documentation
Moved FoW management from CGObjectInstance to callback
Refactoring of hoverText from objects:

- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
Minor fix to schema, server will print visited objects in debug log
Ugly workaround for DLL_LINKAGE issue. Should be removed once I figure
out what's triggering it.