Chanding the way how NPM uses the pool

Previous behavior: NPM alyws get nodes from the pool
Current behavior: NPM get node from the pool if node creation has failed
What could happen in previous behavior: if we are going to create 20 nodes and the pool has 4 nodes,
the 4 first requests would take the nodes from the pool. If some of the other 16 requests
really needed the pool, the filling operation would be in progress yet.
I believe the new algorithm will halp scalability much more.