4357: Node Manager boots new nodes when up nodes are busy.

The key part of this commit is the change to _nodes_wanted.
Everything else provides the information to make that calculation.

This changes the daemon test to use real monitor actors, rather than a
mock.  This hurts test isolation a bit, but it's really tricky to mock
individual monitors otherwise.  Because monitors only communicate with
the daemon itself, this seems like a worthwhile trade-off; it doesn't
introduce external dependencies or noticeably increase test time.
Merge branch '4357-node-manager-busy-nodes-wip'

Closes #4357, #4370.