Separate unit test and coverage reporting tasks

The reason for this is to minimise the dependencies required to do a
simple build. Cobertura is now only needed if you call the new "coverage"
target.