Low: daemons: Be more careful about restarting subdaemons.
If corosync crashes, we don't want to try spamming restarts of the
subdaemons that require it. Instead, make a note of the daemons that
need to be restarted when corosync comes back and delay restarting them
until that time. Other subdaemons can be restarted as normal.
When corosync does come back, we just walk through the list of
subdaemons and restart any that are not already running and require a
corosync connection.
Note that restart_cluster_subdaemons doesn't check whether the cluster
is back yet, but this is okay because it is only ever called from a
context where we know the connection has been restored.
See: bz#5225