Makefile: Add test coverage reporting

* pin dev deps
* add istanbul for coverage reporting
* refactor makefile
* ignore coverage/ in git
* fix bad `if`