fileio: raise ValueError rather than "assert False"
Add support for terrains (XML only for now)
Terrain support for JSON/dict export
Add tests for terrain features