Code coverage kwarg for Pkg.test

This PR effectively replaces #7393 - it does the same thing, but with keyword arguments instead of optional positional arguments.

Ping @IainNZ, @StefanKarpinski

If this can be merged before v0.3 is tagged, it will probably simplify travis scripts for many packages quite a lot, since the API for package testing stabilizes. Currently, a lot of packages have somewhat hackish bash scripting that test for `JULIAVERSION = "julianightlies"` or `JULIAVERSION = "juliareleases"` to determine if `julia -e 'Pkg.test(...)'` or `julia [--code-coverage] test/runtest.jl` should be called. I think this change has merits even if the coverage tools in themselves are somewhat unreliable at the moment.