Report coverage on success

Currently the coverage reports are misleading when a build fails, because they're missing some of the tests.

Also cause the build to be marked as a failure if the coverage tests fail.