replace CSector::m_bMinor by a m_HomeOf race pointer
improve system sanity check considering the relation between m_HomeOf and m_Owner
avoid another and any further null pointer dereference

(of starmap pointer in CGalaxyMenuView::OnDraw)
also revealed due to 92ed888d8e16d242513c6a08341c32cfc0334468
move use count check call to another place, hopefully fixing calculation

The reason seems to have been that the gui classes were still holding
the old ship objects. shipbottomview and fleetmenuview hold shared pointers
to the same CShips objects, which is why they increment the race
use count only by 1 for each ship. These ships pointers must have been
dangling before the change to smart pointers, for the short period of
deleting them while serializing the shipmap, until they are cleared
at the start of the next round, after which the use count check should
correctly work now.