Reimplemented Tiberium Heal feature

The feature works the same way as in Tiberian Sun.

[General]TiberiumHeal= (double, defaults to 68/60 = ~1.13333, once every 68 seconds) The interval between healing steps being applied.

[TechnoType]TiberiumHeal= (boolean) Can this techno heal if standing on a cell containing Tiberium? Defaults to no.

The health restored depends on the type; see IRepairStep and RepairStep.

Ares also supports the TIBERIUM_HEAL veteran ability, which can override [TechnoType]TiberiumHeal=.

When technos that have TiberiumHeal=yes are destroyed, they leave behind a random amount of tiberium. The veteran abilities are not considered here.
Implemented tiberium damage for infantry types

[InfantryType]TiberiumProof= (boolean, defaults to no) Whether the infantry is immune to tiberium damage.

This feature also supports the veteran ability TIBERIUM_PROOF.

The damage delivered when entering this cell is a 10th of the tiberium's Power= value.

The commit contains code to create a small Visceroid, but it is commented out because the wandering logic is not complete yet. Differences to the original logic are the validation of the SmallVisceroid tag and the deletion of the unit if it could not be placed (which should never happen).
Tiberium damage now supports all foot types

The code has been moved and expanded. TiberiumProof is valid for TechnoTypes now and the InfantryType field is unused.

TiberiumProof defaults to no for InfantryTypes, otherwise to yes. This is congruent with Tiberian Sun's original behavior.
Tiberium damage and heal can be disabled

[General]TiberiumDamageEnabled= (boolean, defaults to no): Whether tiberium damages units that are not tiberium proof.

[General]TiberiumHealEnabled= (boolean, defaults to no): Whether tiberium heals units that can heal on tiberium. Duh.
Harvesters can be made to lose tiberium on destruction

[General]TiberiumSpillEnabled= (boolean, defaults to no): Whether or not units (not buildings) with positive Storage will spill their cargo on destruction.

The current implementation (lifted from Tiberian Sun) can spill up to 9 'bails', independent of Storage: currentStorage / typeStorage * 9.0. This is problematic if type storage is less than 9, because the unit could generate ore out of nothing.
Change to the maximum value for tiberium spill

Harvesting units won't spill more than they can hold.
TiberiumExplosive is working again

Units with loaded tiberium can be made to explode. This uses the Power value as in TS, but instead of using C4Warhead Ares requires a new warhead which defines a CellSpread. TS uses a hardcoded CellSpread=1.5.

[CombatDamage]TiberiumExplosive= (boolean, defaults to no) Whether tiberium inside of harvester units explode using TiberiumExplosiveWarhead when destroyed.

[CombatDamage]TiberiumExplosiveWarhead= (warhead) The warhead to use to deliver a damage that depends from the amount of loaded tiberium types and their Power= value.
Minor change: Initialize the tiberium spill member explicitly
Storage restored

Storage on buildings works like in TS. At the moment this feature is on by default.

EVA_SilosNeeded is played whenever the game feels like it.
Storage extended

[BuildingType]Refinery.CanSpill= (boolean, defaults to no): Whether the building will spread its stored tiberium when destroyed.

[BuildingType]Refinery.UseStorage= (boolean, defaults to no): Whether the building will store the tiberium instead of converting it to money directly. Tiberium that is converted directly does not require storage space.

Bonus money created by ore purifiers are always stored on the bank account instead of in the silos. This is because the bonus is calculated in tiberium bails, which would count against storage. When the silo is destroyed, this bonus money would be placed on the map, which would create tiberium out of nothing.
Refinery.CanSpill and TiberiumSpillEnabled merged to TiberiumSpill

[TechnoType]TiberiumSpill= (boolean, defaults to no): If this techno is destroyed, it spills parts of its stored tiberium.

[BuildingType]Refinery.CanSpill and [General]TiberiumSpillEnabled are obsolete.
Added small visceroids merging into one large visceroid

When two units with SmallVisceroid=yes meet, they will merge into a large visceroid defined by [General]LargeVisceroid.
Uncomment the visceroid creation code

All infantry that die due to tiberium damage will be transformed into a small visceroid defined by [General]SmallVisceroid=. Implementation is the same as in TS, except for a check for whether SmallVisceroid is defined and a check for whether the unit could be placed on the map successfully.
Added TiberiumTransmogrify

Despite its long time usage, TiberiumTransmogrify does not do anything. Not even in TS. Now it does.

[General]TiberiumTransmogrify= (integer percent): Chance of which an infantry unit dying due to tiberium damage transforms into a small visceroid.
TiberiumTransmogrify wasn't explicitly initialized in the game
Restored PipScale=Tiberium for buildings

For buildings with positive Storage=, the pips will show the currently used storage space compared to the overall space. Ore will show a yellow pip, gems a blue one.

To enable PipScale=Tiberium, you also have to enable Refinery.UseStorage=yes, because otherwise the original game would show the scale for the unmodded refineries, because they have PipScale=Tiberium and Storage>0 defined.
Added TiberiumExt, an extension to the TiberiumClass type.
Made Tiberium Damage customizable for each Tiberium

[Tiberium]Damage= (integer, defaults to Power/10)
The damage a unit that is not Tiberium Proof gets from entering a cell containing this type of Tiberium.

[Tiberium]Warhead= (warhead, defaults to [CombatDamage]C4Warhead)
The warhead that deals the Tiberium Damage. This is not used for the Tiberium Explosive feature.
Customizable TiberiumTransmogrify.

[InfantryType]TiberiumTransmogrify= (integer, defaults to [General]TiberiumTransmogrify)
Same meaning as the original.
Changed neutral house selection for Visceroid creation.