Log: pengine: improve messages when assigning resources to nodes
Most significantly, native_choose_node() was off by one when counting
equal-weighted nodes, so no message would be logged when there were two.
This also refactors for efficiency and readability.
The only behavioral change is that when comparing the chosen node against
allowed nodes of equal weight, allowed nodes that can't run resources won't be
counted.