avoid a null pointer deref

by restoring part of the code from before commit
286dd886053f108a69fa09cb952320294f630893

see http://www.forum.birth-of-the-empires.de/viewtopic.php?f=68&t=2579

The real question is why the report contains invalid coordinates. In this
case they are the coordinates of a tile from which all ships move away
exactly in this turn. Thus there's no ship found.
slightly refactor part of CalcShipMovement
simplify ship training

It's now automatically applied to all ships over an owned system
which provides ship training. However, if you wanna use the boost granted
by an experienced ship to inexperienced ones, they need to be in the same
fleet, being on the same coordinates is insufficient.
rename affiliation to alliance

Judging from pons.eu, affiliation rather means the same as membership,
not alliance, the needed meaning. It resulted in me naming an enum
entry inappropriately: OWNING_STATUS_COLONIZED_AFFILIATION_OR_HOME
instead of OWNING_STATUS_COLONIZED_MEMBERSHIP_OR_HOME. A minor that
is only allied cannot be owned, obviously.