Fix --cover-min-percentage with --cover-branches

When using the `--cover-min-percentage` option, the regex responsible
for extracting the cover percentage fails due to extra columns in the
result text when the `--cover-branches` option is also specified.

Using an optional (and non-capturing) group within the regex, we can
recognize a match whether or not the extra columns are present. This
fixes #626.

Note: The two other lines modified in this commit have only had the
trailing whitespace on the line removed.
Fix --cover-min-percentage with single packages.

It turns out that coverage doesn't generate a TOTAL line when only one
package is being covered.  As a result, we'd fail to parse the output
and assert accordingly.  Fix this by first trying a multi-package
regexp, and fall back to a single package version if the multi-package
one fails.  Also added several tests to make sure this works with and
without --cover-branches.