Make project more idiomatic.

- gitignore compiled output (no need to keep in repo) and removed from repo
- npmignore source (no need to ship it)
- Added dev dependencies (you can `npm install <dep> --save-dev` to update
  package.json automatically)