Fix unit_carrier_drone crash & issues with incorrect drone type if carrier is morphed 

The following commit first fix unit_carrier_drones.lua crashing if commander finish morphing while drone is building,

Then fixed a case where... if a carrier morph into another carrier with different drone_def , then the new drone_def will be overwritten by old carrier's drone_def. This mean, if Funnelweb morph into Armcarry, then Armcarry will be building battledrone and not seagull and the emit point will be wrong.

The fix is split into 3 commit for readability/better-history since this is a PR for 3 different tweak/fix at once.