Merge branch 'pr-588' into devel
spiderable: Correctly kill phantomjs after timeout. Fixes #571.

The previous version only killed the wrapper bash script, not the child. We now
work around the broken (socketpair) stdin presented to Node's child processes by
using a bash heredoc rather than "cat |"; this means we can use exec, which only
gives us one process to clean up.

While we're at it, simplify code by switching from child_process.spawn to
child_process.execFile, which does the work of capturing stdout and setting a
timeout for us automatically.
livedata client: Factor out "stringify message and send it" into a helper.

(Extracted from ddp-pre1 branch.)
Maybe fix #555.
Add test for fix to #555.
Merge branch 'quiesce-fix' into devel
Workaround weird header issue in firefox. Fixes #553.
Ignore example directories that begin with a period. This avoids 'meteor create --list' displaying .gitignore.
Make Meteor.autosubscribe a deprecated alias for Meteor.autorun.

Instead of a general client-side sub de-duping mechanism (which mostly existed
for the sake of autosubscribe, and causes issues with server-driven
unsubscribes), make Meteor.subscribe explicitly aware of reactivity.

Expose an "invalidated" flag on Meteor.deps.Context.

Guarantee that invalidation callbacks from different contexts will not be
interleaved at flush time. This has the implication that if you do

   context1.onInvalidate(function () {
     context2.invalidate();
   });

and this is the only way to invalidate context2, then context2's invalidation
callbacks will not be called until after *ALL* of context1's callbacks are
called. This allows us to be sure that the "unsubscribe, unless autorun tried to
re-create an identical sub" logic runs after the autorun function is rerun.
Upgrade Fibers to 1.0.0 and UglifyJS to 2.2.3.

This definitely won't "work" because both have API changes.

UglifyJS 1 was having issues minifying certain code (eg lodash).  But UglifyJS 2
was occasionally segfaulting (as was other code using large regexps).  See the
bottom of https://github.com/laverdet/node-fibers/issues/89

Hopefully this will fix it.
Bump bundle version.
Also include websocket while we're at it, since we know we'll be using that soon
for server-to-server DDP.
Bump bundle version again, since we'd already put a 0.2.13 with websocket in s3
and runner machines.
Update to use APIs from new versions of fibers and uglify-js.

Combine files before minimizing.

minimongo - subkey sort fails when minized, so clearly there is some sort of
uglify bug.
Use our fork of uglify-js2.
Stop using our fork of fstream.
Merge branch 'fibers-uglify-upgrade' into devel

This branch:

 - Updates fibers to 1.0.0, which hopefully fixes crash/stack overflow
   issues. This version stops exporting a global 'Fiber' object which
   means some server code needs to do some more requires.

 - Updates uglify-js to (a Meteor bugfix fork) off of 2.2.3. This is a complete
   rewrite of Uglify and appears to fix infinite recursion bugs that were
   discovered on the engine branch and while investigating lodash. We also now
   are able to minify all code in one pass instead of as separate pieces.

 - Stops using a Meteor bugfix fork of fstream, because they have taken our
   fork. This also affects the nested copy used by tar.
Beginning a system for merging subscriptions in the session.

So far just one v. small test, and enough of a shim to get it to pass.
Finished reimplementation of merge box. Needs more tests
Lots of tests for the merge box