Refactoring of the NPM / Node management

The previous implementation was a nightmare in term of technical debt (untestable, duplication...)
This implementation is tested, but makes test quite long. So fine tuning of test execution is required.

Signed-off-by: Clement Escoffier <clement.escoffier@gmail.com>