refactor "ships in sectors"

This changes the m_bWhoIsOwnerOfShip and m_mNumbersOfShips variables
in the map tile tree into a variable holding actual ships,
linked to their pendants in the global shipmap. The global shipmap and
CShips class are redponsible for keeping these always up to date.
add a check for duplicates in a ShipMap
add sanity check for "ships in sectors" code feature

Compares the two amounts present in the global shipmap
and all MapTiles for equality.
add a small sanity check for keys in CShips
make sure Owner(ID)s returned by ships are never empty

Ships always must have an owner, other than map tiles and races.
fix memory leaks introduced by ships in sector refactoring

The too early clearing of race ids caused an assertion called from
the destructors when trying to remove ships from MapTiles.