Fix: scheduler: properly detect whether guest node is fenceable
Guest nodes are "fenced" by stopping their container resource. Previously, we
assumed that this was always possible. However, it may not be if the
container's host is failed and not fenceable (e.g. due to lack of quorum).
Now, we check guest nodes for fenceability as we do for other nodes,
with the criteria being that the guest's host must be either online or
fenceable. Additionally, when creating a new action that normally does not
require fencing, we make the action unrunnable if it is on an non-fenceable
guest node, because the action cannot be attempted in that case.