Fix the gasoline rotation bug.

Plus some nice map enhancements:
- functions to access `map::grid` and functions to calculate the index in that array from a 2D grid point (instead of repeating the formula every time). This will be useful when someone implements the "special submap type that is homogeneously one terrain(e.g. only air, or only rock)" (z-level issue 6818) - you want a central place where you decide whether to use such a special submap or a real one / transform the special into a real one.
- moves all the map square specific things (terrain, fields, items, furniture, traps, ...) into one convenient struct, which can be swapped assigned etc. for easier rotation (fixes the gasoline bug).
- use points in the vehicle cache, not pairs of int.
- remove redundant parameters from map::saven/map::loadn.