The Research division is now a pure area instance.

With this it's now possible to create a grep, or similar check, for Travis to ensure /area{name = *} never happens again as this can cause issues with APCs.
Resets values for vents/scrubbers that were equal to the default.
Freezers now have appropriate icons on the map depending on state. Cleans up freezer and medical door vars.
Arranges vent settings, default values and icon state in particular.
Replaces airless turfs in medbay with airfull variants. Adds protection around disposal chutes.
new XGM gas mixture datum

Gases are now represented in an associatiee list instead of harcoded
 variables.  gas = list("oxygen" = 20, "nitrogen" = 80)
New cleaned up share_ratio(), share_space() and equalise_gases() procs.
Gas can be modified with adjust_gas() or adjust_gas_temp(), with
 variadic versions available for both. These are documented in
 gas_mixture_xgm.dm

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
integrate XGM into the code

New turf proc: assume_gas().  Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
 more.
Zones now process all fire data and existance in one go, fire objects
 only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
 structured for the new gas_mixtures.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
make gas mask filtering more generic

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
added debugging verb support for gas_data

Updates mod_list() with associative editing support.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Merge pull request #5735 from Mloc/bs12-power

XGM gas mixtures
Merge pull request #5732 from PsiOmegaDelta/VentsScrubbers

Vents, scrubbers, freezers, more - OCD
Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into dev