Invalidate map caches when a new map is loaded (map::load)

Should fix #7180

First rule of caches: When in doubt invalidate them all (-:

That said, the cache should probably completely invalidated when a completely new map is loaded. `game::vertical_move` did not trigger any cache reloads (asside from the `map:ter_set`, which aren't always called).