TISTUD-5648 Alloy: Add Alloy namespace Content Assist to alloy project JS files
Merge pull request #152 from pinnamur/TISTUD-5648

TISTUD-5648 Alloy: Add Alloy namespace Content Assist to alloy project J...
Fixing a corner case when there is no primary nature contributor for a given nature Id
ignore test that fails intermittently on build machine
Supporting changes for TISTUD-3814 Alloy: add hover info for element names in Alloy .xml file
  - Move deprecated property up model type hierarchy to BaseElement
  - Allow JSModelFormatter to take in BaseElements so we can pass in a TypeElement and get a somewhat decent hover.
  - fix broken behavior due to changes for TISTUD-5648
  - Add unit tests around BuildPathManager
  - Make the BuildPathManager methods take in IBuildPathEntry, not impl
  - Make the BuildPathManager methods return booleans rather than nothing
TISTUD-5859 Studio: Installing new SDK from CLI causes Blackberry and Tizen to gray out
Merge pull request #153 from sgtcoolguy/TISTUD-3814

Supporting changes for TISTUD-3814 Alloy: add hover info for element names in Alloy .xml file
Merge pull request #154 from pinnamur/TISTUD-5859

TISTUD-5859 Studio: Installing new SDK from CLI causes Blackberry and Ti...
Supporting changes for TISTUD-6129 Alloy: add hover info for attribute names in Alloy .xml file
When we check if an npm package is installed and we get back a valid process result output that indicates the package isn't installed, don't then fall back to checking result of #list()
Rename ChainedFilter to AndFilter to better express its behavior
Clean up unused method on INodePackageManager
Manually bring over some changes from 'process' branch intended to help avoid hanging processes under sudo.
  - Use "-n" flag to force immediate exit and failure when launching under sudo with no password if it requires a password, rather than prompting and hanging indefinitely.
  - Pass in a working directory to cleanNPMCache since we run it non-globally (use user home).
Move functionality of ProcessUtil behind an interface: IProcessRunner.
  - Add a default implementation: ProcessRunner.
  - Update some of the callers to use the new interface instead of ProcessUtil.

The reason for this is to more easily test classes that fire off processes. We can easily mock the instance of the process runner and just verify the arg list/environment/input/working dir. With a singleton ProcessUtil and static methods we can't "swap" it out with a mock to do this.
use -- and "-n" when calling sudo here as well
Small changes required for TISTUD-6116 Alloy: Show description for the content assist types in View file
Try to do a better job of logging the underlying error when a process fails internally so I can get better details on what's failing during nightly build.
Merge pull request #155 from sgtcoolguy/TISTUD-6129

Supporting changes for TISTUD-6129 Alloy: add hover info for attribute names in Alloy .xml file
Merge pull request #156 from sgtcoolguy/process

Move functionality of ProcessUtil behind an interface: IProcessRunner.
Merge pull request #157 from sgtcoolguy/TISTUD-6116

TISTUD-6116