In addition to minor "make the tests match the code" changes, there's also:
- missing require('tar') in tarball download code
- fix an fd leak in the bundler that was causing EMFILE on mac
- switch run.js to listening for 'exit' to 'close' so that the end
of stdout/err can be read
- some concerningly necessary deletions of .build directories
Also, the version of cli-test.sh that runs against a fixed release is disabled,
since we're not building releases with the new package format for now.
(the non-springboarding piece of that is now controlled by
METEOR_TEST_NO_SPRINGBOARD)
This means that run-all-tests.sh can use launch-meteor to bootstrap a warehouse
instead of starting with an empty warehouse directory (which is no longer
allowed).
also, fix npm module usage out of the bootstrap tarball: we were too liberal in
the "never update npm dependencies in the warehouse" rule since the bootstrap
tarball would contain packages with no node_modules (or if we had a failure
between downloading a package and running installNpmDependencies). instead,
"never update npm dependencies in the warehouse if .npm/node_modules already
exists".
while I'm at it, fix it so that it actually works if the package's on_test tries
to use() itself (which is common). This previously did not work with
--package-dir