4294: added min_nodes config parameter

Added min_nodes configuration setting.  The job queue will return a
wishlist with at least min_nodes elements in it, and the node manager
daemon will avoid shutting down a node if it would bring the total below
min_nodes.

* arvnodeman.config sets default min_nodes to 0.
* NodeManagerDaemonActor:
** _nodes_wanted returns at least enough to keep the node count above
   min_nodes
** _nodes_excess will not allow the node count to drop below min_nodes
* jobqueue.ServerCalculator.servers_for_queue returns a list with at least
  min_nodes elements
* added test cases:
** NodeManagerDaemonActorTestCase.test_shutdown_declined_below_min_nodes
** ServerCalculatorTestCase.test_server_calc_returns_at_least_min_nodes
4294: code review feedback

* Added min_nodes to sample config files
* Renamed idle_nodes to needed_nodes
4294: additional unit tests

test_server_calc_returns_min_nodes_for_one_job
* Ensures that the @ServerCalculator@ still returns a wishlist with
_min_nodes_ when there is a job in the queue.

test_server_calc_more_jobs_than_min_nodes
* Tests that when the job queue has between _min_nodes_ and _max_nodes_ in
it, @ServerCalculator@ returns a wishlist exactly as long as the job
queue.
Merge branch '4294-node-manager-min-nodes'

Fixes #4294.