Don't crash in any widget timer

Previously, gobject wouldn't crash the whole process if there was an exception
generated in a timer in the event loop. asyncio does, so we need a catchall for
anything added via timeout_add.
Fix gmail_checker the Right Way

See discussion on #504