Add empty js-analyze package.

Imports some Esprima JS analysis tools as NPM packages. The test is from
https://github.com/dgreensp/public/tree/master/js-refs/ but I am using
Npm.depends instead of copying source code into the project. (This also means
that it only run server-side, which is OK for my current needs.)
Add David Greenspan's "global dotted refs" static analysis.
JSAnalyze.findAssignedGlobals: a simpler analysis for linker.

Includes tests ported from findGlobalDottedRefs. Should add more tests.
some more tests for findAssignedGlobals
refactorings so that computeGlobalReferences has access to library
Remove underscore dependency. use slice now has no dependencies.
Comment re lack of dependencies.
Move js-analyze tests to a separate package to simplify loading
Use ignoreEval option. Otherwise vars don't get resolved if there's eval around.
Run JSAnalyze at link time to determine package-scope variables.
comment about breaking @unit
Add a bunch of 'vars' found by looking at built packages.
Different hack for getting package-scope vars for js-analyze itself.
Goodbye, blacklist!
Handle parse errors.
Fix ++/+=. Add comment about why we can't use ImplicitGlobalVariable.
Use ignoreEval in the (unused) findGlobalDottedRefs code too.

Add comment explaining why eval has the wacky behavior in escope.
Merge branch 'linker-esprima' into linker
clarify regexp used for trim
fix the runner to actually detect ending on linker