TISTUD-5417 Inconsistent PATH lookup for Node and other components
  - Refactor so INodePackageManager is tied to an INodeJS installation and we explicitly execute npm commands underneath that node install
  - Break out an INodeJS interface and impl to represent a NodeJS install, ove some functionality from INodeJSService there.
  - Renamed some INodeJSService methods to make more explicit what they return.
  - Update callers to use new API
Merge pull request #120 from sgtcoolguy/TISTUD-5417

TISTUD-5417 Inconsistent PATH lookup for Node and other components