Refactor vehicle per-turn alarm handling.

- it 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.
Not entirely sure if we want to keep the `is_alarm_on` handling shifted out to `vehicle::idle` -- it seemed like a good idea when I made the PR, but now I'm wondering if it makes sense. It _does_ follow the `if(stereo_on) { play_music(); }` implementation.