improve and add sanity checking in the map tile tree
eliminate reset functions in CRace tree and related classes

Their only use was initializing members at construction and
deleting some dynamically allocated memory at destruction,
which only happens once each per object.
Other than that, they cause bugs, such as the recent memory leak
due to useless deleting of the race id which does never make sense anyway,
same for coordinates, for as long as the race exists at all.
refactor event screen system to use shared_ptr
eliminate CEmpire::Reset()