switch mapgen to enum. should still try and make sure the values are backwards compatible if possible.
This should probably fix multiplayer desync, but is the result of fiddling while pretty sick/feverish so, needs testing, and the water/scaling stuff is disabled.
turns out IOResult is actually IOResult() - a function that clears its result after each call
oops, fix logging. had = instead of <> in an error check
fix for
issue #840: Basic Training - Grenade is failing to dismiss team
expose FlightTime to lua, disable in-air flame harming moving hogs ☹ aaaand override that in ClimbHome ☺