Add coverage task and supporting stuff for it