Return avoided nodes as a list not a set.

This preserves the order in which the nodes are avoided.
Only hinted-handoff to first-choice nodes.

Don't hinted-handoff to nodes that we would not
have used if everything were up.

In particular, don't hinted-handoff to more nodes
than we would have used in the first place -- that
would be a recipe for trouble when things recovered.