unit_carrier_drones.lua: fix crash when commander morph while building drone
unit_morph.lua & unit_carrier_drones.lua: cleanup of morph handling.

Instead of unit_morph.lua call unit_carrier_drones.lua to inform about morph, unit_carrier_drones.lua will wait for UnitDestroyed() event (like Jump gadget do) to check for morph.

The reason for this change is because previous method require back-and-forth communication, while in later method unit_carrier_drones.lua only check morph info from unit_morph.lua once. Later method felt more self-contained.
unit_carrier_drones.lua: fix a case "if a carrier morph into another carrier, then it might have unexpected type of drone".

This is because, when a carrier (especially a commander) morph into another carrier, the gadget will just copy paste drone_definition of old carrier into new carrier. This meant the drone_definition designed for the new carrier will be lost.
Merge pull request #75 from xponen/carrier_drone_crash

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