4844: Node Manager doesn't treat min_nodes as min_nodes_idle.

There's a bad interaction between the past bugfixes to (a) implement
min_nodes, and (b) boot new nodes when existing nodes are busy.
Because min_nodes has been implemented at the server wishlist level in
the past, the daemon can't distinguish between "nodes requested to
fulfill min_nodes" and "nodes requested to fulfill jobs."

This commit puts all the responsibility for enforcing min_nodes in the
daemon, so that the server wishlist always represents real job
requirements.  This lets the daemon correctly decide whether or not to
boot a new node when >= min_nodes are busy.
Merge branch 'master' into 4844-stricter-min-nodes-wip
Merge branch '4844-stricter-min-nodes-wip'

refs #4844