Fix tend from target not to stop on foreign target

Tending a negative number of commodities takes from the target ships.
When a target ship is foreign, tend silently stops.  This is wrong.
Fix it to skip foreign target ships instead.

Broken when Chainsaw 2 added tending to allies.
Fix tend not to leak which commodities are loaded on friendlies

Tending a negative number of commodities takes from the target ships.
The target ships must be owned.  Tend complains when the target
doesn't have the commodity loaded.  It does that even for friendly
foreign ships.  Don't.

Broken when Chainsaw 2 added tending to allies.
Fix tend to refuse tending civilians to foreign ships

Broken when Chainsaw 2 added tending to allies.
Factor ship_can_carry() out of could_be_on_ship()
Factor inc_shp_nplane() out of could_be_on_ship()
Don't let planes fly to a carrier without sufficient space

We test whether the the carrier has space for each plane individually
instead of whether it has space for all of them.  The planes that fit
land, the others abort and get teleported home.  Abusable.

pln_oneway_to_carrier_ok() was created in commit 1127762c (v4.2.17) to
fix almost the same bug.  It worked fine then, because
fit_plane_on_ship() worked with load counters, and incremented them.

Broken in commit 3e370da5 (v4.3.17), which made fit_plane_on_ship()
count the loaded planes, to permit the removal of load counters.  But
unlike load counters, loaded planes don't change during
pln_oneway_to_carrier_ok().  Thus, each plane is checked individually.

Fix by tallying all the planes before checking for space.
Inline fit_plane_on_ship() and fit_plane_on_land()

Just one call site each.
Drop could_be_on_ship()'s load count parameters

Just one caller wants them.  Inline that call, and simplify the
others.
Fix fly to permit flying civs to a carrier in an occupied sector

Broken in commit 35887222, v4.2.17.
Replace pln_onewaymission() by pln_where_to_land()

New function reads and returns target sector/ship.  Avoids reading the
target sector unnecessarily.  Callers receive the target ship, not
just its number.  Next commit will put it to use.
Replace pln_oneway_to_carrier_ok() by pln_can_land_on_carrier()

Avoids reading the target ship again.
Don't let fly and drop give away civilians

Flying them to a foreign destination magically changes their
allegiance.  Prohibit that.

Equivalent change was already in commit 35887222 (v4.2.17) but got
reverted immediately (commit 20199b22), because fly and drop should
stay consistent with load, which let you give away civilians then.  No
more since commit 92a366ce (v4.3.20).  This change makes fly and drop
consistent with load again.
scripts: Use mailx rather than mail, and drop bogus -e
Initialize struct plist member queue properly in msl_equip()

Harmless, because queue isn't actually used.  Clean it up anyway.
Streamline plist initialization

msl_equip(), find_escorts() and perform_mission() memset() the plist,
then assign to all members but load.  Just zero load instead, like
getilists(), msl_sel() and pln_sel() do.
Clarify info Plague slightly
Pilots and air cargo now spread the plague

Planes flying one-way with crew or cargo spread plague from their old
base to their new base.  Planes dropping cargo spread plague from
their base to the drop's target sector.
Don't let scrap give away civilians

Scrapping unloads everything.  Even stuff that unload can't: foreign
civilians.  Kill them off instead, like scuttle does.
Scrapping ships and land units now spreads the plague
Fix obj_changed() to check object exists

Relatively harmless, because these kinds of objects don't go away.