Reworking map data creation/loading.

Because Microsoft. Still need to do map loading, apparently serializing
an object means you can't deserialize it in any other program.