General cleanup and CI related improvements

- Uses istanbul for coverage via `npm test --coverage`, retaining `npm test` behaviour.
- Hides generated coverage files from git/npm.
- Specifies versions of devDependencies instead of `latest` tags.

@bajtos, feel free to merge this yourself if you approve, since we're in different timezones.