Moves around some ZAS stuff and fixes some things in FEA gas mixtures.

ShareSpace now can take a gas mixture as an argument, alongside the usual list of tiles.
Three new procs on gas mixtures, add() multiply() and divide().  Self explanatory.
Zones with unsimulated tiles that sleep will now reset themselves to the average air.
assume_air will only add air to sleeping zones with unsimulated tiles if it can wake the zone up.

Signed-off-by: Mloc <colmohici@gmail.com>
Merge pull request #3808 from Mloc/sleepyzas

Moves around some ZAS stuff and fixes some things in FEA gas mixtures.