March maintenance
- Ensure running mainloop does not block pending promises
This avoids gjs#468 (closed) until a better helper API exists.
- Ensure "Now" is the closest time column to the current time.
Additionally ensure the current forecast isn't beyond a half hour old when prepending it to the hourly view.
Fixes #217 (closed)