When a unit of rank terrorist is spawned, it will automatically get a weapon from the ruleset of type <race name>+_WEAPON. The race name is the link.
when fixedWeapon = true, it can not be thrown (if you control the unit, you don't see throw in the menu), it will not be dropped when you die or get stunned. It's also used in the drawing code and also when equipping a craft, ammo stuff, battlescape generation and debriefing... basically to make a weapon be part of a unit, but have the functionality of a weapon.
spawnUnit/zombieUnit with other units, I would say: try and see
specab is an enum in the code: enum SpecialAbility { SPECAB_NONE = 0, SPECAB_EXPLODEONDEATH, SPECAB_BURNFLOOR, SPECAB_RESPAWN };
so 1 = explode on death , 2 = burn floor.
You can add them to other units if you want.