Refactor vehicle per-turn alarm handling.

- `vehicle::alarm` doesn't need to know whether it's on-map or not;
- game.cpp doesn't need to know it exists at all;
- it probably doesn't need to be public, either, but I couldn't be arsed to move it around in vehicle.h.