Make subscriptions handles reactively stop.

Although `handle.ready()` became false when the subscription was stopped, it didn't do so reactively, 
which led to some difficult to understand issues.
Added test case for reactive handle argument changing.
Explicitly test for sub arguments changing before ready.
Ensure the sub reactively goes unready when removed.

Subscriptions are removed from 3 points - handle.stop, nosub message, and _unsubscribeAll. We need to handle all three cases similarly.
Removed redundant checks for Deps' existence.
Subs’ readiness should not invalidate if they stop when they aren’t ready.
Drop collections after test.

Only on the consistent id test, but that one is run repeatedly.

Written using cleanup functions; we might want to make this part
of tinytest in future.
Switch the 'unreachable' url from http://asdf.asdf to http://0.0.0.0

Some ISPs / proxies serve a valid HTTP response on any DNS miss, but
we are trying to test an unreachable server.
Merge pull request #2186 from justinsb/avoid_dns_catchall

Switch the 'unreachable' url from http://asdf.asdf to http://0.0.0.0
Merge pull request #2202 from justinsb/cleanup_collections

Drop collections after test (WIP)
Add `UI._templateInstance()`
Merge branch 'templ-instance-from-helpers' into devel
history: a bit more explicit
Notice changes to npm-shrinkwrap.json

There were two separate issues here:

 - npm-shrinkwrap.json wasn't actually being used as part of the
   watchset/buildinfo, so changes to it might not cause the package to
   be considered for rebuilding

 - meteor-npm only compared top-level changes when deciding whether to
   update, not all changes

Fixes #1648
update sockjs to 0.3.9, websocket-driver to 0.3.4

The websocket-driver update includes our PR to relinquish some memory
faster. https://github.com/faye/websocket-driver-node/pull/6

The sockjs update mostly consists of aligning the version of
faye-websocket it uses internally with the version that we use for our
client. It also contains this Vary: Origin change:
 https://github.com/sockjs/sockjs-node/pull/130
Tweak error message for circular build-time deps
Remove spacebars-compiler -> spacebars test dependency.

This fixes a circular build-time dependency when building test slices.
Merge branch 'pr/2115' into devel
Move credential token and secret into variables.

Allow 3rd party apps, like PhoneGap/Cordova, to execute inline script
and get the token and secret key easier.
Remove one unhelpful stack frame from Deps

Instead of `callWithNoYieldsAllowed` which calls a function
within (introducing a new stack frame that doesn't absolutely
nothing on the client), we now use `withNoYieldsAllowed` that
returns a new function that then gets called.

Since Deps is used all over the place, and in particular
in Blaze, this makes it much easier to look at the stack
trace when stopping in a debugger (for example, when a helper
gets re-executed).

Motivated by the Blaze manual.