* Convert unnecessarily async functions into normal ones
* Remove explicit Promise returns from async functions
Returning an explicit Promise from an async function is doing unnecessary extra work, since the resolved/rejected value has to be denested. It's better to just return a value (or throw if it's a rejection).
* Add lint rule no-async-without-await
* Rename --quick-sloppy flag from `kpm check` to --integrity
* Make --save implicit when installing new modules, remove strict lockfiles, always create updated lockfile and populate tarball cache
* Add integrity hash check to `kpm install`
* Update kpm.lock
* remove incorrect assert messages
* split up package resolving and fetching
* update kpm.lock
* clean up activityStep, move back cursor at end to cover worker lines - fixes#262
* use fake jest timers
* remove old test
* add mocks to jest test ignore
* fix test fixture lockfile
* Add lockfile version header - fixes#280
* split up `kpm install` into `kpm add` - closes#284
* fix lint
* fix using `latest` tag when adding new dependencies - fixes#263
* clean up kpm entry files
* add useless `kpm version` command
* rename config.js to Config.js
* remove Makefile and switch to simple npm scripts
* add more flow-typed definitions
* correctly case Config file
* fix misc lint
* fix type annotation of PackageConstraintResolver#reduce
* fix bin/kpm nits and unused variable
* use dashed filenames instead of camelcase
* move add command fixtures to separate folder
* hoist common-mirror test folder
* makes trunk green
* returned bablerc back
* extracted failing test
* removed package.json test because we need to clear all properties with arrays and this makes the test fail unexpectedly
* case fix
* Move fixtures.
* Update to Jest 14.
* Don’t track temporary files because of permission errors.
* Fix flow errors.
* Use node4 transforms for tests so they work on travis.