Theoretically, make chunkloaded vehicles think.

Practically, the map code thinks the map is a contiguous X by Y grid of
submaps, and will strongly avoid thinking any other way. This means that
what we really need for the chunkloading is a class `sparse_map`, that
understands it's really just made of a few submaps here and there,
divided by vast amounts of nothingness. Joy.