TISTUD-6265 NPM executable should not need to coexist with node executable folder on Mac for recognizing npm

- lazily lookup npm path in getPath() rather than in constructor
- add unit tests for co-located versus on PATH
- When co-located path doesn't have a file for NPM, fall back to searching PATH on non-WIndows systems.