Install node-pathwatcher from our branch.
fix typo in a comment
Decompose common dev_bundle build logic and variables.
Source build-dev-bundle-common.sh in generate-dev-bundle.sh.
Add script for building node separately.
Add script for building mongo separately.
Download pre-built node and mongo build artifacts from S3.
Don't remove the rimraf dependency from pathwatcher/node_modules/.

One of the actual dependencies (as opposed to devDependencies) of
pathwatcher (fs-plus) depends on rimraf, but it doesn't get installed in
pathwatcher/node_modules/fs-plus/node-modules/ because it's already
installed in pathwatcher/node_modules/, so we should avoid deleting it.
fix typo, thanks @dgreensp
generate-dev-bundle: use local node/mongo tarballs

(kind of like the dev bundle itself)
separate server deps from tool deps

move package.json to a JS file so it can have comments.
move tool deps to package.json to run npm dedupe
switch unmatched pushd to cd
Merge branch 'dev-bundle-cleanups' into devel
Install pathwatcher from NPM instead of GitHub.
Make a note of future aspirations about installing pathwatcher.
Trigger a rebuild to pick up @glasser's dev_bundle/server-lib changes.
Implement funcUtils.coalesce(delayMs, callback).
Use pathwatcher.watch to trigger rebuilds and restart the server.

Fixes #2135.
Fix anticipated pre-release calculation

This commit fixes a 0.9.3 regression where the calculation of the
topLevelPrereleases object was not updated with the introduction of
disjunction constraints (||) and would always be empty.

topLevelPrereleases and useRCsOK are merged into a single
anticipatedPrereleases option which is now passed in to the
constraint-solver package rather than constructed inside it. (This
object will also be used in ProjectContext as part of PackageDelta
calculation.)

The usedRCs return flag is now called
neededToUseUnanticipatedPrereleases.