- Allow getting the full list of available versions for an NPM package using #getAvailableVersions
- Remove INodePackageManager#getVersions and use #getAvailableVersions instead - it actually works
- Make #getInstalledVersion and #getAvailableVersions both use --json true args to force json output and then parse the output as JSON for more robust output handling.
Merge pull request #216 from sgtcoolguy/TISTUD-4119

Fixes related to TISTUD-4119 Improve beta/rc update process
TISTUD-6748 Titanium modules index is not being added to build path of Titanium/Alloy projects
- We should only compare BuildPathEntry's by their path/URI, ignore display name for equals/hashcode checks.
- Add test that display name is ignored for BuildPathEntry equality checks
- Add a 30 second time based cache on the global whitelisted build paths. If one is added/remove manually, bust the cache immediately. It's getting called many times repeatedly when setting up indices on Titanium projects. The data should very rarely change (for example when we install new SDKs), so a small time-based cache may be useful to help eliminate the constant recalculation of the entries.
Merge pull request #218 from sgtcoolguy/TISTUD-6748

TISTUD-6748 Titanium modules index is not being added to build path of Titanium/Alloy projects
TISTUD-6654 Studio: Large projects (450mb) take a very long time (estimated 90+ minutes) to index
cleaning up the comments
Bump minor version since DownloadManager API has expanded
Merge branch 'development' of https://github.com/aptana/studio3 into TISTUD-6654
Passing in globals as well into the processing modules
Merge pull request #219 from pinnamur/TISTUD-6654

TISTUD-6654 Studio: Large projects (450mb) take a very long time (estimated 90+ minutes) to index
Add some more tests around common ways to use constructor functions for new types, then start fixing the behavior for those cases. WIP, still broken in some cases.
Show all indices for a JS project in Index view
Fix handling of:
``` javascript
var x = new function() { this.y = \"red\"; }
```
to record the type as Function<x> - the same way we do for:
``` javascript
function x() { this.y = \"red\"; }
```
- Unwrap Function<x> types to just x for inferring types of constructors
- When properties are hung off the prototype property of a type, elevate those up in our index to be properties of the type.
- Add tests for adding properties to the prototype property of a type after the initial type's constructor has been defined.
If module.exports points at a constructed object, unwrap that constructor's return type as the type of the module.exports object.
- Handle nested property assignments using "this" in a constructor function.
- Handle assignments of properties to an object using element syntax (i.e. this.apis['customerevent'] = ...)
WIP on trying to better hanlde "bad" XMl where an attribute's value is unquoted and begins with a digit
TISTUD-6683 Gracefully handle invalid XML attribute values
- be able to handle unquoted attribute values that begin with digits in our scanner
- mark unquoted attribute values as parse errors and recover in our parser
- mark attributes with no value as parse errors and recover in our parser
try to fix broken test from move to Eclipse 4.4
Address review feedback