Allow arrays of coverage types to be generated

This change allows you to specify that multiple types of coverage reports should be generated.  In our case, we'd like one for our Jenkins build and a different more human-readable one for local builds.

Doing it this way preserves backwards compatibility with the previous style of specifying only one report type.