Don't crash when updating unpinned apps.
Save to buildinfo the library resolution of all "use"d package.

We call these the pluginProviderPackages because these are the packages that, if
they change, could affect the set of plugins available to this package (and thus
require it to be rebuilt).
Rebuild a package when its dependencies resolve to a different path.

Also simplify a bunch of library code that thought it might have to rebuild
warehouse packages, now that the warehouse contains unipackages.
BUILT_BY bump
document and rename pluginProviderPackageDirs
Remember the library resolution of packages used by the plugin program itself.
Merge branch 'rebuild-when-plugin-updated' into devel
Don't watch files for reload until after starting the server.

Specifically, don't watch until after serverHandle points to the NEW
process. This way, if the watcher files, we are sure to kill the new process,
not fail to kill it because serverHandle is still pointing at the old process or
no process. The old behavior led to sometimes failing to kill the server; while
it would eventually die due to failed keepalive, the new servers would also fail
due to EADDRINUSE.

This change is possible because unlike the only dependencyInfo, WatchSets are
completely self-contained (there's no "... and it should look like it did the
first time" involved).

While we're at it, make restartServer always stops the watcher, and clear some
variables after they're used.

Fixes #1247.
initial rough draft for HISTORY for 0.6.5
Working on 0.6.5.
Detect symlink cycles in app dirs.
Better error (with watching!) for missing source files.
Export JSON from json package.

Make sure to use the built-in JSON if it exists.

Fixes #1204.
Use json package in sockjs client.

Because sockjs-client doesn't think it's loading in a closure, it ALWAYS ends up
redefining JSON to non-native code, and sockjs-client does not want to change
this:
  https://github.com/sockjs/sockjs-client/issues/123

Fixes #1162.
Don't print a doubled slash if it's included in ROOT_URL.

This should not affect how Meteor.absoluteUrl actually works since it adds a
slash to the end of the root URL if it doesn't have one already.
Avoid using Meteor.absoluteUrl for client-side tests.

This way tests can pass both when ran against localhost or against a
10.0.2.2-style hostname for VMs.
minor improvements to a livedata test
clear all sockjs handlers
make LESS error messages work
Fix a test in IE8; elsewhere make it actually test what it's trying to test.