Add support for npm-shrinkwrap

Shrinkwrap locks down the versions of a package's dependencies so that
you can control exactly which versions of each dependency will be used
when your package is installed.

(The `package.json` file is still required if you want to use
`npm install`.)

To install dependencies:

Using a shrinkwrapped package is no different than using any other
package: you can `npm install` it by hand, or add a dependency to your
`package.json` file and `npm install` it.

To add or update a dependency:

- Run `npm install` in the package root to install the current versions
of all dependencies
- Add or update dependencies
- `npm install` each new or updated package individually
- Validate that the package works as expected with the new dependencies
- Run `npm shrinkwrap`, commit the new `npm-shrinkwrap.json`

**Note**: Dependencies must be explicitly named in order to be
installed: running `npm install` with no arguments will merely reproduce
the existing shrinkwrap.
Merge pull request #53 from OpenTreeMap/hmc/shrinkwrap

Add support for npm-shrinkwrap