Add coverage tooling. This closes #4