Refactor: libpacemaker: Restore node tables if cloned group assign fails
Currently, when assigning an instance of a cloned group (that is, one of
the groups), we make a copy only of the group's allowed nodes table. We
restore only that table if an early assignment attempt fails.
Here, we make a recursive copy containing the allowed nodes tables of
the group itself and of all the resources in the group. Then we restore
all of them from backup if the assignment fails.
This doesn't visibly fix anything yet, but it's a necessary part of the
fix for T678. And it was obviously wrong before :)
Ref T678
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>