[connman] Handle source removal in callback function

Wakeup timer callback function may call e.g. g_source_remove() to
clean up the source; handle this properly so that neither freed
timeout structure is referenced, or destroyed source attempted to
destroy again.