Publish versioned dependencies of core packages

When publishing a core package, you’re allowed to omit version numbers in package.js.  With this change, we determine the correct versions of all the dependent packages based on the current checkout, and we send them to troposphere (instead of core packages having “null” constraints on their dependencies).

We throw an error if you have any missing version constraints on your package dependencies and you are not using versionsFrom or publishing a core package from a checkout.

We’ve already fixed this (no constraints on core package deps) retroactively in troposphere.

It speeds up the constraint solver by orders of magnitude when publishing a package.