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.
Merge pull request #639 from jszakmeister/coverage-fixes

Fix --cover-min-percentage for both single and multiple packages
A slightly better fix for #627.

The first test should run fine, even if the number of processors is one.
That's because we explicitly tell multiprocess to use two process.
However, the second test asks multiprocess for the CPU count, and that's
where we run into a problem.  As a result, we'll only check the cpu
count in TestConcurrentSharedWithAutomaticProcessesCount.