client: Don't create unused task and other small improvements
Finalizing a task that never invoked g_task_return* leads to a critical (if a callback is set) or a debug message (when no callback is set). The later is true for matrix_start_sync() when the "*_loading" check is TRUE.
As the task is not used for anything avoid this printout which looks scary as it can happen periodically.
Note that the branches
if (self->db_migrated && !self->{direct_,}room_list_loaded)
don't use task and hence can still trigger the warning.
The other commits move to g_timeout_add_seconds_once
and fix some indent.
Edited by Guido Günther