Terrain/RasterWeather: don't protect "weather_available" with RWLock

This array is only modified before startup by ScanAll(), before the
threads get spawned.
Terrain/RasterWeather: add method ForEachTime()

Replaces isWeatherAvailable().
Time/BrokenTime: add method GetMinuteOfDay()
Terrain/RasterWeather: don't expose the "time index"

Replace with BrokeTime in the public API.